ios - Swift - SharkORM 忽略并加密属性

标签 ios swift sqlite dbaccess

我正在使用 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/

相关文章:

ios - 在首次启动时加载弹出窗口,而不是 iOS 中的 UIAlertView

ios - 使用自动布局的 UIButton 动态宽度

swift - 无法使用类型为 '<' 的参数列表调用 '(T, T)'

python - Python/Django 上的 Sqlite 问题

java - 如何关闭popupWindow?

ios - UICollectionView registerClass : forCellWithReuseIdentifier method breaks UICollectionView

iphone - iOS - 如何在更改 View 时停止背景音乐

ios - UICollectionView - 在单元格之间画一条线

swift - VStack 子级填充(而不是扩展)其父级

Android eclipse 将 SQLite 表行转储到文本文件中