0

我有两个 NSManagedObject 类,UserInfo 和 Department(分别是一对一和一对多关系)这是我的代码,

// 用户信息.h

@interface UserInfo : NSManagedObject

@property (nonatomic, retain) NSDate * bDate;
@property (nonatomic, retain) NSString * firstName;
@property (nonatomic, retain) NSString * lastName;
@property (nonatomic, retain) NSString * userName;
@property (nonatomic, retain) Department *dept;

@end

//部门.h

@class UserInfo;

@interface Department : NSManagedObject

@property (nonatomic, retain) NSString * id;
@property (nonatomic, retain) NSString * post;
@property (nonatomic, retain) NSString * location;
@property (nonatomic, retain) NSString * name;
@property (nonatomic, retain) NSSet *user;
@end

@interface Department (CoreDataGeneratedAccessors)

- (void)addUserObject:(UserInfo *)value;
- (void)removeUserObject:(UserInfo *)value;
- (void)addUser:(NSSet *)values;
- (void)removeUser:(NSSet *)values;
@end

用于从我使用的数据库中搜索特定用户,效果很好

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"firstName contains[cd] %@", NameTosearch];

但是,现在我可以使用什么样的谓词来获取所有用户与特定部门相关的信息?

4

2 回答 2

1

您还可以在谓词中使用与对象的比较。

即,如果您有一个指向部门实例的指针:

...withFormat:@"dept = %@", dept"

在内部,CoreData 将 %@ 替换为对象的托管对象标识符。

于 2012-12-13T06:20:22.707 回答
0

搜索使用

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"firstName contains[cd] == %@", NameTosearch];  

关注此博客以获取更多信息http://rajneesh071.blogspot.in/
并关注我的回答StackOverflow

于 2012-12-13T06:24:19.730 回答