我正在使用SharkORM创建SQLite数据库,但我有以下问题。
如何加密和忽略sharkORM中的属性?
class Example: SRKObject {
dynamic var birthdate : NSDate?
dynamic var age : NSNumber?
}
我试图从出生日期开始计算年龄,我不想在表中有年龄的列。
另外,我的数据应该是安全的,所以我想加密生日,这怎么能实现?
谢谢你的支持。
最佳答案
看来我在ignoreEntities
方面可能错了-这不是你需要的。他们的文档似乎没有更新以反映这一点,但您实际上需要的是ignoredProperties
:)
您需要忽略对象上的属性的实际Swift代码如下所示-我使用一个示例Person
对象来演示代码:
class Person: SRKObject {
dynamic var name : String?
dynamic var age : NSNumber?
dynamic var payrollNumber : NSNumber?
override class func ignoredProperties() -> [Any] {
return ["age"]
}
}
因为我以前没有和SharkORM一起工作过,所以我测试了代码以确保上面的代码确实工作正常:)
就《CC》的实施主题而言,一般来说,一个项目的单元测试(如果存在的话)是一个很好的开始使用特定方法的地方。但奇怪的是,SharkORM似乎没有实现任何测试来查看
ignoredProperties
是否正常工作。希望开发团队中有人看到了这一点,并修复了这个疏忽:)关于加密特定属性,我相信您只需要实现
ignoredProperties
。由于实现将类似于上述encryptedPropertiesForClass
的实现,因此我将把实际实现留给您:)