objective-c - 核心数据加密属性

标签 objective-c cocoa core-data encryption

我们想要加密实体的某些属性,但仍然能够使用该属性执行获取和谓词,而无需特别注意谓词等...

人员属性名称已加密

NSPredicate * predicate = [NSPredicate predicateWithFormat:@"name like JOHN"];
johns = [persons filteredArrayUsingPredicate: predicate];

核心数据实体

.h

@interface Person : NSManagedObject

@property (nonatomic, retain) NSString * name; // crypted
@property (nonatomic, retain) NSString * description; // crypted
@property (nonatomic, retain) NSString * someAtrribute;

@end

.m

@implementation File

@dynamic name;
@dynamic description;
@dynamic someAttribute;

@end
  • 我无法将 @dynamic 更改为 @synthesize 并实现我的自定义 setter 和 getter
  • 我可以将加密属性更改为 c_name 并添加带有自定义 getter 和 setter 的合成属性名称,但这不适用于谓词

最佳答案

您实际上可以实现自定义访问器方法,请阅读此apple doc .

关于objective-c - 核心数据加密属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9224625/

相关文章:

ios - 如何理解这个崩溃日志?信号发生器

ios - 发送到不可变对象(immutable对象)的变异方法 - [__NSCFDictionary setObject :forKey:]

Swift:entityForName:无法在此模型中找到名为 xxx 的实体

ipad - 在 iphone/ipad 选项卡之间共享 NSManagedObjectContext 和其他服务类

ios - AES 解密互​​操作性 IOS 和 Python

ios - 长按手势(如Whats应用程序)打开弹出窗口

objective-c - REST Auth 的 Cocoa Base 64 实现

objective-c - OS X 上的推送 View 动画

Cocoa WebView导航白闪

ios - Restkit-无法在 NSManagedObject 类上调用指定的初始化程序