Sko*_*ota 2 iphone core-data objective-c nsmanagedobject ios
我正在使用Core Data并且有一个NSManagedObject被调用的子类Person(它是Core Data中的一个实体).Person对象具有多个特性(例如firstName,lastName等)和关系(例如friends,coWorkers).其中一些属性是可选的,而其他属性是强制性的.
给定一个Person对象如何有效地确定特定属性或关系是可选的还是强制的?
我想尝试避免必须通过Person对象的每个属性进行某种低效的循环,因为我需要经常调用代码,所以类似于下面的伪代码的东西是完美的:
if ( [[aPerson getProperty:@"firstName"] isOptional] ) {
// do stuff
}
Run Code Online (Sandbox Code Playgroud)
......但我不确定是否可以这样做.上面的伪代码也只会检查属性,所以我猜测在检查属性是一种关系的情况下还需要做其他事情.
我意识到,执行单个循环并将所有必需属性的名称存储在数组中可能更有效(然后只检查该数组是否存在属性名称)这就是我现在正在做的事情,但是不幸的是,它并没有真正适用于我的代码结构(因此需要更多的"按需"方法).
任何帮助将不胜感激 :)
小智 6
您可以在基类中编写函数
NSDictionary *d = [[self entity] attributesByName];
NSAttributeDescription *attr = (NSAttributeDescription *)[d objectForKey:@"test"];
BOOL isopt = [attr isOptional];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1006 次 |
| 最近记录: |