作者热门文章
- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
目前我正在将我的一个类作为 NSData 存储在 plist 中,显然这不是一个好的方法。
所以我正在尝试设置核心数据,但我的类有结构。这是我的:
import Foundation
import CoreData
class Favourite: NSManagedObject {
@NSManaged var origin: Stop
struct Stop {
var name: String;
var id: String;
}
}
但这并不好,因为它说:
Property cannot be marked as @NSManaged because its type cannot be represented in Objective-C
此外,如果没有发生此错误,我不知道我会在我的 xcdatamodeld 文件中设置什么。
我想我可以将值存储在结构中并在对象初始化时赋值吗?这是最佳/最干净的方式吗?
最佳答案
我会这样进行:
import Foundation
import CoreData
struct Stop {
var name: String;
var id: String;
}
class Favourite: NSManagedObject {
@NSManaged var name: String
@NSManaged var id: String
var stop : Stop {
get {
return Stop(name: self.name, id: self.id)
}
set {
self.name = newValue.name
self.id = newValue.id
}
}
}
非常有趣的文章,您应该阅读:http://www.jessesquires.com/better-coredata-models-in-swift/
关于ios - 如何在 iOS 的 Core Data 中存储 Swift 结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37876275/
我是一名优秀的程序员,十分优秀!