2009-12-13 30 views
0

有點泡菜。我正在實施一個CoreData解決方案,並且我有兩個實體,Site和Post。現在網站有許多帖子,因爲帖子屬於一個網站,如模型圖中所示。Objective-C:CoreData在一對多中獲取相關實體

在我的實體的代碼,我有:

Site.h

@property (nonatomic, retain) NSString * name; 
@property (nonatomic, retain) NSString * url; 
@property (nonatomic, retain) NSSet* post; 
@property (nonatomic, retain) NSSet* tag; 
    ... 
@interface Site (CoreDataGeneratedAccessors) 
- (void)addPostObject:(Post *)value; 
- (void)removePostObject:(Post *)value; 
- (void)addPost:(NSSet *)value; 
- (void)removePost:(NSSet *)value; 

Post.h

@property (nonatomic, retain) NSDate * date; 
@property (nonatomic, retain) NSNumber * views; 
@property (nonatomic, retain) NSSet* comment; 
@property (nonatomic, retain) Site * site; 
... 
@interface Post (CoreDataGeneratedAccessors) 
- (void)addCommentObject:(Comment *)value; 
- (void)removeCommentObject:(Comment *)value; 
- (void)addComment:(NSSet *)value; 
- (void)removeComment:(NSSet *)value; 

- (void)addMediaObject:(Media *)value; 
- (void)removeMediaObject:(Media *)value; 
- (void)addMedia:(NSSet *)value; 
- (void)removeMedia:(NSSet *)value; 
@end 

我的問題是,我需要訪問屬於一個站點後,所以我想我邏輯上需要獲得屬於用戶的所有帖子的數組。有人可以提供我的示例代碼來做到這一點?我一直在淘網上找到示例代碼,但是,迄今爲止沒有運氣

回答

1

您如何將用戶與帖子關聯起來?我沒有看到您的發佈代碼中的任何關聯用戶的屬性或關係...但爲了說明起見,我們假設一個Post實體具有一個名爲user的屬性(對於這個簡單的示例,用戶只是一個NSString通過名稱來標識用戶)。

NSString* user = @"our_username"; 
NSFetchRequest* request = [[[NSFetchRequest alloc] init] autorelease]; 
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"SELF.user LIKE[cd] %@", user]; 
[request setEntity:[NSEntityDescription entityForName:@"Post" inManagedObjectContext:someContext]]; 
[request setPredicate:predicate]; 
NSError* error = nil; 
NSArray* postsForUser = [someContext executeRequest:request error:&error]; 
if(!postsForUser) { 
    // handle error 
} 

// Will contain all posts by user 
NSLog(@"posts: %@", postsForUser); 
+0

嘿夥計,你不能在@ Post.h中看到我有一個網站*網站;屬性和網站中的一個NSSet。那是什麼需要的權利? – Doz 2009-12-13 03:22:21

+0

對不起,隊友,我的意思是網站和郵政,忘記用戶。用戶不存在。 – Doz 2009-12-13 03:22:51

+0

所以,也許我很困惑。你只是想獲得屬於一個網站的帖子數組?你已經有你的網站對象... – 2009-12-13 03:26:45

相關問題