我的项目使用Swift并针对iOS 8.0及更新版本,但我们使用旧的Objective-C项目中的一些文件,并通过CocoaPods引入一些Objective-C库.我应该在这个项目中使用哪个Realm接口:Objective-C还是Swift?我很困惑因为Realm文档中的公告:
如果您希望使用Objective-C中的Realm,或者使用混合的Objective-C和Swift应用程序,请参阅Realm Objective-C.不支持同时使用Realm Objective-C和Realm Swift.
class Post: RLMObject {
var images: RLMArray!
override init(JSON:json) {
if let imagesArray = dictionary["images"].arrayObject {
let imagesItems = RLMArray(objectClassName: StringObject.className())
for dic in imagesArray {
let image = StringObject(stringValue: dic as! String)
imagesItems.addObject(image)
}
images = imagesItems
}
}
}
Run Code Online (Sandbox Code Playgroud)
上面我尝试初始化的代码PostModel包括images属性,但是它始终在我的项目中崩溃:
RLMArray对象类型不支持'(null)'。RLMArrays只能包含RLMObject子类的实例
我在Realm Swift的文档中看到了用于List<Foo>声明数组属性的方法,但是我不知道该如何做。