How do you write a Fetched Property for the Place Entity that will present an Array of Users?
对于获取的属性users
of Place检索其签到与给定地点相关的所有用户,设置
- 所获取属性的目的地为“User”
- 以及“ANY checkins.event == $FETCH_SOURCE”的谓词
现在您可以获得某个地点的用户数组:
Place *place = ...;
NSArray *users = [place valueForKey:@"users"];
此获取的属性对应于以下获取请求:
Place *place = ...;
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"User"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"ANY checkins.event == %@", place];
[request setPredicate:predicate];
NSArray *users = [context executeFetchRequest:request error:&error];
如果您声明获取的属性users
作为动态属性:
@interface Place (FetchedProperties)
@property(nonatomic, retain) NSArray *users;
@end
@implementation Place (FetchedProperties)
@dynamic users;
@end
然后您可以使用属性语法检索值:
NSArray *users = place.users;
// instead of: NSArray *users = [place valueForKey:@"users"];
But note您可以直接获得相同的结果(作为一组),而无需使用获取的属性:
Place *place = ...;
NSSet *users = [place.checkins valueForKey:@"user"];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)