我目前正在写NSManagedObject
,正在寻找命名约定的想法。这是我的代码:
final class StrokeSample: NSManagedObject {
@NSManaged private var location: String
var _location: CGPoint {
get {
return NSCoder.cgPoint(for: location)
}
set {
location = NSCoder.string(for: newValue)
}
}
}
如您所见,我有一个CGPoint
对象,它作为String
存储在Core Data中。我在这里遇到的问题是,我应该如何命名用优雅的方式描述完全相同的属性的两个变量?
我已经考虑过的:
xcdatamodel
对象中,命名属性string[PropertyName]
。 优点:解决了模棱两可的问题,例如,拥有一个名为rect
的属性,该属性在数据模型中被描述为String
。另外,在数据模型之外,一切都非常清楚。 缺点:在每个属性在模型中看起来混乱之前,先编写 string 。_
放在我的NSManagedObject
中计算属性的名称之前。这就是我的示例中突出显示的内容。 优点::这样可以使xcdatamodel
保持干净。 缺点::迫使我在我的Swift代码中的任何地方都使用下划线。 _
。 Xcode可以阻止它。我认为选项 1 是更好的选择,因为混乱局限在一个地方。但是,如果您在这个特定问题上有更好的想法,我们欢迎您。谢谢