假设我有一个名为Business
的coreData对象。 Business
有许多关系。
Business
有Phones
,Images
,Districts
,URLs
等。
我知道我可以做NSSet somePhones = self.Phones
吗?
如果我想创建一个函数,给定关系的名称,即@“Phones”将给我相同的集合。
所以NSSet * getManyRelationship:(NSString relationshipName)
我能把它拉出来吗?
答案 0 :(得分:1)
您可以通过[Business attributeKeys]访问所有属性名称 并检查任何属性的isTooMany属性。结果将是你需要的。
答案 1 :(得分:1)
在NSManagedObject的类别中定义一个如下所示的方法:
- (NSSet *)getManyRelationship:(NSString *)relationshipName{
// insert sanity checking for relationshipName form
// needs to be camelcase:
// 'photos' rather than 'Photos'
// 'userPhotos' rather than 'UserPhotos' or 'userphotos'
SEL method = NSSelectorFromString(relationshipName);
if([workout respondsToSelector:method])
return objc_msgSend(self, method);
return nil;
}