나는 그것의 유일한 객체에 의해 객체를 가져 오려고하는데, 그 객체를 가져 오기 위해 객체를 삽입하는 ID를 저장하려고합니다. 여기에 내 코드가 있습니다.문제 속성으로 사용할 때 NSManagedObjectID 함께
@implementation UserInfoDOA
@synthesize firstName,lastName,userName,bDate,department,searchByDept,searchByName,moid,uriData,uri;
- (NSString *)insertUser
{
UserInfoAppDelegate *delegate = (UserInfoAppDelegate *)[[UIApplication sharedApplication] delegate];
UserInfo *newUser = [NSEntityDescription insertNewObjectForEntityForName:@"UserInfo"
inManagedObjectContext:delegate.managedObjectContext];
Department *dept = [NSEntityDescription insertNewObjectForEntityForName:@"Department"
inManagedObjectContext:delegate.managedObjectContext];
moid = [newUser objectID];
NSLog(@"IN INSERTUSER %@", moid); // moid displays its value
if(dept!=nil) {
[email protected]"1001";
dept.name=department;
[email protected]"ahmedabad";
[email protected]"developer";
}
if (newUser != nil) {
newUser.firstName =firstName;
newUser.lastName =lastName;
newUser.userName=userName;
newUser.bDate = bDate ;
newUser.dept=dept;
NSError *savingError = nil;
if ([delegate.managedObjectContext save:&savingError]) {
NSLog(@"Successfully saved the context.");
}
else {
NSLog(@"Failed to save the context. Error = %@", savingError);
}
}
else {
NSLog(@"Failed to create the new person.");
}
NSLog(@"IN INSERTUSER after %@",moid);
return @"true";
}
- (NSArray *) getUser
{
NSLog(@"IN GETUSER %@", moid); //NOT WORKING, moid is NULL here
UserInfoAppDelegate *delegate = (UserInfoAppDelegate *)[[UIApplication sharedApplication] delegate];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"UserInfo"
inManagedObjectContext:delegate.managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
[fetchRequest setEntity:entity];
NSPredicate *predicate=[NSPredicate predicateWithFormat:@"(objecId = %@)",moid];
[fetchRequest setPredicate:predicate];
NSError *requestError = nil;
NSArray *users = [delegate.managedObjectContext executeFetchRequest:fetchRequest
error:&requestError];
return users;
}
그래서 무엇이 잘못 되었나요? 나는 속성으로 저장했지만 제 두 번째 함수에서 moid
에 액세스 할 수 없습니다.
예 ARC가 활성화 된 환경에서 작업하고 있습니다. 고유 ID를 저장하려고하고 나중에 업데이트 목적으로이 ID를 사용하여 객체를 가져 오려고했습니다. – BaSha