0
獲取單個用戶對象我想要檢索的主要應用程序用戶的用戶對象,以訪問用戶的姓名,照片等IOS /核心數據:從實體
下面的代碼返回null。這是檢索對象的有效代碼嗎?如果沒有,可能是用戶信息沒有正確地存儲在覈心數據中,如果只是你可以輕鬆查看底層的sql-lite文件 - 但這是另一回事。但是,我想排除檢索用戶對象的代碼的問題。
- (User *)getUserInfo:(NSNumber *)userid
inManagedObjectContext:(NSManagedObjectContext *)context
{
User *user = nil;
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"User"];
request.predicate = [NSPredicate predicateWithFormat:@"userid == %@",userid];
NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"userid" ascending:YES];
request.sortDescriptors = [NSArray arrayWithObject:sortDescriptor];
NSError *error = nil;
NSArray *matches = [_managedObjectContext executeFetchRequest:request error:&error];
if (!matches || [matches count] > 1) {
// handle error
} else {
user = [matches lastObject];
}
return user;
}
//This is returning null currently. Is there an error visible somewhere?
編輯:
這是它是如何叫:
//in viewdidload
_managedObjectContext = [myModel sharedInstance].managedObjectContext;
NSNumber *useridnum =[[NSUserDefaults standardUserDefaults] valueForKey:@"userid"];
User *user = [self getDemoInfo:useridnum
inManagedObjectContext:_managedObjectContext];
NSLog(@"user is%@",user);//logs as null
是您的_managedObjectContext是否正確?另外,檢查是否錯誤是零,如果不打印error.description –
上述方法從viewdidload調用,我認爲這是正確的。 – zztop
你檢查過那個錯誤是否爲零? –