2010-07-15 26 views
1

我試圖保存使用核心數據並檢索它的Device類(一個自定義類)的列表。但是保存後,我的查詢非常簡單,不會返回任何記錄。iphone核心數據保存不起作用

我調用保存記錄始終返回YES和NO錯誤:

BOOL resultOfSave = [managedObjectContext save:&err]; 

我因財產USERLOGIN搜索謂詞是像這樣:

- (NSArray *) devicesForUser:(NSString *)username 
{ 
NSFetchRequest *request = [[NSFetchRequest alloc] init]; 
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Device" inManagedObjectContext:managedObjectContext]; 
[request setEntity:entity]; 

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"userLogin = %@", username]; 
[request setPredicate:predicate]; 

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"macAddress" ascending:YES]; 
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil]; 
[request setSortDescriptors:sortDescriptors]; 
[sortDescriptors release]; 
[sortDescriptor release]; 

NSError *error = nil; 
NSArray *fetchResults = [managedObjectContext executeFetchRequest:request error:&error]; 
if (fetchResults == nil) { 
    // Handle the error. 
    NSLog(@"ERROR: nil fetch result array"); 
} 

[request release]; 
NSLog(@"devicesForUser [%@] count %d", username, [fetchResults count]); 
return fetchResults;  
} 

,但我總是得到零個結果,如果我擺脫了預先命令,我得到所有的對象,如果我通過它們循環,我可以看到至少有一個對象IS的userLogin屬性設置爲我通過的用戶名...

有沒有人有過這樣的問題?

感謝您的幫助,您可以給

馬克

回答

2

在您的謂詞,更改:

@"userLogin = %@" 

...到:

@"userLogin == %@" 
+0

OK,嘗試感謝生病... – Mark 2010-07-15 22:40:02

+0

好吧,似乎工作...這裏還有很多其他問題,所以它可能是一個事物的組合s,但這當然有幫助:) – Mark 2010-07-15 23:03:20