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

标签 ios swift visibility nsmanagedobject

我有一个 Xcode 为我的 CoreData 模型生成的 NSManagedObject 类。

@objc(SomeClass) class SomeClass : NSManagedObject { /* ... */ }

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

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

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

最佳答案

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

关于ios - 为什么我的 Swift 类的扩展在定义文件之外不可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26111440/

相关文章:

Java Swing dispose() 与 setVisible(false)

html - 样式 :Display and Visibility errors?

ios - Swift:如何在我的 AVPlayerLayer 顶部添加图像/文本以使其成为视频的一部分?

ios - 应用程序在点击时立即将某些用户抛出

ios - UICollectionReusableView 内的 UICollectionViewCells 未渲染?

ios - Swift UIView 出现在不同的地方

c# - 设计WPF控件时如何查看折叠的元素?

iphone - 如何在应用程序中切换本地化的 Nibs?

ios - 苹果拒绝了我的应用:性能-应用完整性

ios - 是init吗?(aDecoder :) or prepareForSegue(_:sender:) called first?