0

2つのNSManagedObjectクラス、UserInfoとDepartment(それぞれto-oneとto-manyの関係)があります。これが私のコードです。

// UserInfo.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

//Department.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

私が使用したdbから特定のユーザーを検索するために、これはうまく機能します

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

しかし、特定の部門に関連する情報を持つすべてのユーザーをフェッチするために、どのような述語を使用できますか?

4

2 に答える 2

1

述語内のオブジェクトとの比較を使用することもできます。

つまり、deptにDepartmentインスタンスへのポインタがある場合:

... 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 に答える