2012-07-03 3 views
0

Coredata Entity에서 고유 한 사용자 데이터를 가져 오는 동안 NSPredicate를 사용하면 응용 프로그램이 다운됩니다. 그러나 오류 로그는 없습니다. 이아이폰 앱에서 NSPredicate를 사용하면 앱이 다운 되나요?

if (managedObjectContext == nil) 
{ 
    managedObjectContext = [(AppDelegate *)[[UIApplication sharedApplication] delegate] managedObjectContext]; 
} 


NSPredicate *predicate = [NSPredicate predicateWithFormat:@"Name==%@",selectedUserName]; 
NSFetchRequest *fectchreq = [[NSFetchRequest alloc] init]; 
NSEntityDescription *entitydes = [NSEntityDescription entityForName:@"ALLData" inManagedObjectContext:managedObjectContext]; 
[fectchreq setEntity:entitydes]; 
[fectchreq setPredicate:predicate]; 

NSSortDescriptor *sortdes = [[NSSortDescriptor alloc] initWithKey:@"Name" ascending:YES]; 
NSArray *sortdesarray = [[NSArray alloc] initWithObjects:sortdes, nil]; 
[fectchreq setSortDescriptors:sortdesarray]; 
[sortdes release]; 
[sortdesarray release]; 
NSError *error = nil; 
//NSMutableArray *storeddata = [[[managedObjectContext executeFetchRequest:fectchreq] error:&error] mutableCopy]; 
NSArray *storeddata = [managedObjectContext executeFetchRequest:fectchreq error:&error]; 
//[fectchreq release]; 
NSLog(@"StoreData : %@, count : %d",storeddata, [storeddata count]); 

사람이 문제를 해결하는 데 도움 주실 래요, 사용하고있는 코드? 미리 감사드립니다.

NSError *error = nil; 
NSArray *storeddata = [managedObjectContext executeFetchRequest:fectchreq error:&error]; 

이유 :

+2

두 번째 매개 변수'executeFetchRequest : error :'는 오류 객체의 포인터 포인터입니다. 앰퍼샌드로 전달해야합니다 :'... executeFetchRequest : request error : & error]'. – Eimantas

+0

@Eimantas 네, 제 코드에서 당신의 말을 시험해 보았습니다. 여전히 응용 프로그램이 충돌을 얻고 있습니다. 저를 도와주세요? 감사. – Gopinath

답변

0
NSError *error; 
NSMutableArray *storeddata = [managedObjectContext executeFetchRequest:fectchreq error:error]; 

당신은이 코드를 변경해야 오류 인수를 포인터로 전달해야 선언은 또한이 방법은 NSArray하지 NSMutableArray 반환 -executeFetchRequest:(NSFetchedRequest *)request error:(NSError **)error; 때문에 - 당신을 이 문제에 대해 컴파일러 경고를 받아야합니다 ...

+0

예 조언에 따라 코드가 변경되었습니다. 여전히 executeFetchRequest : 행에서 응용 프로그램이 중단됩니다. 저 좀 도와 주 시겠어요? 문제의 최근 코드를 게시 할 것입니다. 감사. – Gopinath

+0

어떤 종류의 오류가 발생했을 것입니다 ..? – graver

+0

로그에 오류가 없습니다. 앱이 executeFetchRequest : 행에 오면 앱이 다운됩니다. 오류 로그가 없습니다. 저를 도와주세요? 감사. – Gopinath