我正在使用 SharkORM创建一个 SQLite 数据库,但我有以下问题。
如何加密和忽略 sharkORM 中的属性?
class Example: SRKObject {
dynamic var birthdate : NSDate?
dynamic var age : NSNumber?
}
我正在尝试根据出生日期计算年龄,但我不想在表中有一个年龄列。
另外,我的数据应该是安全的,所以我想加密出生日期,如何实现?
感谢您的支持。
最佳答案
看来我对 ignoreEntities
的看法可能是错误的 - 这不是您需要的。他们的文档似乎没有更新以反射(reflect)这一点,但您实际需要的是 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,所以我测试了代码以确保上面的代码确实可以正常工作:)
关于ignoredProperties
的实现,一般来说,项目的单元测试(如果存在的话)是开始了解如何使用特定方法的好地方。但奇怪的是,SharkORM 似乎没有实现任何测试来查看 ignoredProperties
是否正常工作。希望开发团队的某个人看到这一点并修复这个疏忽:)
关于加密特定属性,我相信您需要做的就是实现encryptedPropertiesForClass
。由于 ignoredProperties
的实现类似于上面的实现,我将把实际的实现留给你:)
关于ios - Swift - SharkORM 忽略并加密属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43023501/