ios NSManagedObject中属性访问器的核心数据命名约定

cetgtptt  于 2022-12-15  发布在  iOS
关注(0)|答案(1)|浏览(103)

我目前正在编写一个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 在模型中看起来很混乱。
1.在我的NSManagedObject中,在计算属性的名称之前放置一个_。这是我的示例中突出显示的内容。**优点:**这会使xcdatamodel保持干净。**缺点:**迫使我在Swift代码中的所有地方使用下划线。🤢
1.在数据模型. Xcode中的属性名前放置_可以防止这种情况。

我认为第一项是较好的方案,因为混乱只限于一个地方,但如果你对这问题有更好的意见,欢迎你提出,谢谢🙂

yyyllmsg

yyyllmsg1#

约定似乎是,当您想使属性名成为“私有”属性时,在属性名后面加上下划线,因为在数据模型中,属性名必须以字母开头。

相关问题