2012-02-10 11 views
0
我々は、エンティティのいくつかの属性を暗号化し、まだ述語となどのために特別な注意せずに、属性を使用してフェッチし、述語を実行できるようにしたい

...コア・データ暗号化atributes

人属性名が暗号化されています

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

コアデータエンティティ

@interface Person : NSManagedObject 

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

@end 
.H

.M

@implementation File 

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

@end 
  • 私は@synthesizeと私のカスタムのセッターを実装し、
  • iはc_nameとカスタムで合成されたプロパティ名を追加するには、暗号化されたプロパティを変更することができゲッタリングする@dynamic変更することはできません。 getterとsetterがありますが、これは述語では機能しません。

答えて

1

実際にはです。はcを実装しています慣用のアクセサメソッドは、apple docを読んでください。