我正在使用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的实现,因此我将把实际实现留给您:)

10-06 13:56