I have an Xcode-generated NSManagedObject class for my CoreData model.
@objc(SomeClass) class SomeClass : NSManagedObject { /* ... */ }
It is defined in a file named 'SomeClass.swift'. I would like to extend this class, so I created 'SomeClassExtension.swift'. I define the extension like this:
extension SomeClass {
class func typeMethod1() {}
func instanceMethod2() {}
}
These extension methods can be used within this defining file, but they are not visible outside of it. What is causing this issue?
It sounds like your new file (SomeClassExtension.swift) didn't get included in the correct target. Double-check the file's target membership by selecting the file in Xcode, then opening the "File Inspector" (View menu > Utilities > Show File Inspector). Make sure the correct targets are checked under the Target Membership heading.