NSManagedObject

时间:2019-04-12 13:33:05

标签: ios swift core-data

我目前正在写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中。我在这里遇到的问题是,我应该如何命名用优雅的方式描述完全相同的属性的两个变量?

我已经考虑过的:

  1. 在我的xcdatamodel对象中,命名属性string[PropertyName]优点:解决了模棱两可的问题,例如,拥有一个名为rect的属性,该属性在数据模型中被描述为String。另外,在数据模型之外,一切都非常清楚。 缺点:在每个属性在模型中看起来混乱之前,先编写 string
  2. _放在我的NSManagedObject中计算属性的名称之前。这就是我的示例中突出显示的内容。 优点::这样可以使xcdatamodel保持干净。 缺点::迫使我在我的Swift代码中的任何地方都使用下划线。
  3. 在数据模型的属性名称之前放置_。 Xcode可以阻止它。

Xcode: name must begin with a letter

我认为选项 1 是更好的选择,因为混乱局限在一个地方。但是,如果您在这个特定问题上有更好的想法,我们欢迎您。谢谢

0 个答案:

没有答案