【问题标题】:Cannot find interface declaration for 'Object', superclass of 'Track'; did you mean 'NSObject'?找不到“对象”的接口声明,“轨道”的超类;你的意思是“NSObject”吗?
【发布时间】:2015-10-13 13:04:07
【问题描述】:

我正在将 RealmSwift 框架集成到我的 OS X 项目中。

import RealmSwift 
public class Track: Object {
    // class members and functions
}

我将 Track 类更改为扩展 Object 而不是 NSObject,我在 ProjectName-Swift.h 中收到此错误

@interface Track : Object

我正在使用 CocoaPods 进行依赖管理。我确实在谷歌上搜索过这个问题,但没有得到太多。

像这样添加了 RealmSwift 依赖

pod 'RealmSwift'

【问题讨论】:

  • Show 是 Object 类的接口。如果你有。如果没有,那就解释清楚了。
  • @gasher729 没有关注你

标签: macos swift2 cocoapods realm


【解决方案1】:

您也创建了an issue for that on the realm-cocoa repo,这里是该摘要的交叉发布:

通常,自动生成的 Objective-C 兼容性标头在与 CocoaPods 集成时不会引起问题。

作为一种解决方法,您现在可以通过将构建设置 SWIFT_INSTALL_OBJC_HEADER 设置为 NO 来禁用生成。

请注意,我们不鼓励在混合设置中使用 RealmSwift,其中 Objective-C 与 Swift 一起用于访问模型。

如果您的模型类应该包含在桥接头中的类中,或者如果有任何其他类(传递地)依赖于它们,那么您就不能在此设置中真正使用 Realm Swift。

您需要将 Podfile 中的条目替换为 pod "Realm",再次运行 pod install 并从 RLMObject 继承。根据您是否已经开始在 Realm Swift API 的基础上实现应用程序/模型逻辑,可能需要进一步的步骤,因为 Realm Objective-C API 不会带来相同的功能风格。

【讨论】:

  • 谢谢,我改为使用 Realm 并使用 RLMObject 和 RLMArray。但现在不断收到此错误。 *** 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[Swift._SwiftDeferredNSArray objectClassName]:无法识别的选择器发送到实例 0x600000427960”
  • 你是否有一个堆栈跟踪表明这个错误来自哪里?
猜你喜欢
  • 2015-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多