ios – 为什么我的Swift类的扩展名在定义文件之外是不可见的?

前端之家收集整理的这篇文章主要介绍了ios – 为什么我的Swift类的扩展名在定义文件之外是不可见的?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的CoreData模型有一个 Xcode生成的NSManagedObject类.
@objc(SomeClass) class SomeClass : NSManagedObject { /* ... */ }

它在一个名为“SomeClass.swift”的文件中定义.我想扩展这个类,所以我创建了’SomeClassExtension.swift’.我定义了这样的扩展:

extension SomeClass {
    class func typeMethod1() {}
    func instanceMethod2() {}
}

这些扩展方法可以在这个定义文件中使用,但它们在它之外是不可见的.是什么导致这个问题?

解决方法

这听起来像你的新文件(SomeClassExtension.swift)没有包含在正确的目标.通过选择Xcode中的文件,然后打开“文件检查器”(查看菜单>实用程序>显示文件检查器),仔细检查文件的目标成员资格.确保在目标成员资格标题下检查正确的目标.

猜你在找的iOS相关文章