2012-10-22 3 views
2

저는 일반적으로 프로그래밍에 익숙하며 객관적인 핵심 코어 데이터를 특히 많이 사용합니다. 스프레드 시트에서 데이터를 읽고 테이블 뷰에 표시하려고합니다. 객체를 보관하기 위해 만든 배열이 비어 있습니다. 배열에 데이터를 저장하는 방법을 잘 모르겠습니다. 또한 저장된 값이 절대로 읽히지 않는다는 경고가 나타납니다. 나는 위트니스 리의 끝에서 - 이것에 대한 어떤 도움 이라든지 대단히 감사 할 것입니다. 나는 귀하의 질문에 정확히 정말 모르겠어요페치 된 객체를 코어 데이터에 저장하는 방법

DataStorage *parentTab; 
parentTab = (DataStorage *)self.parentViewController; 
_context = [parentTab context]; 

[self populateCollegeObjects]; 

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; 
NSEntityDescription *dataEntity = [NSEntityDescription entityForName:@"CollegeList"  inManagedObjectContext:_context]; 
[fetchRequest setEntity:dataEntity]; 

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"collegeName" ascending:YES]; 

NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil]; 

[fetchRequest setSortDescriptors:sortDescriptors ]; 
[sortDescriptors release]; 
[sortDescriptor release]; 

NSFetchedResultsController *controller = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:_context sectionNameKeyPath:nil cacheName:nil]; 
[fetchRequest release]; 

NSError *error; 
[controller performFetch:&error]; 

for (int counter = 0; counter< [sortDescriptors count]; counter ++) 
{ 
    if ([_collegeObjects count] == 0) 
    { 
     _collegeObjects = [[NSArray alloc] init]; 

     CollegeList *addCollege; 

     //addCollege = [CollegeList initWithName:<#(NSString *)#> andURL:<#(NSString *)#> andDetail:<#(NSString *)#> forContext:<#(NSManagedObjectContext *)#>_context]; 
    } 
} 
+0

sortDescriptors 및 fetchRequest release 문은 performFetch 메서드 다음에 있어야한다고 생각합니다. – user427969

+0

죄송합니다. 한 가지를 얻지 못합니다 - NSFetchedReultsController에서 데이터를 가져 와서 initWithName을 사용하여 데이터를 저장 하시겠습니까? – user427969

+0

정확히 묻는 것은 무엇입니까? 스프레드 시트에서 데이터를 읽고 tableview에 넣기를 원한다면 배열이 비어 있습니까? 이 배열은 어디에서 왔습니까? 귀하의 질문에 핵심 데이터를 한 번 언급하지 않았습니다. 이 핵심 데이터는 어디에서 필요합니까? – yeesterbunny

답변

0

:

여기 내 코드입니다. 배열이 핵심 데이터의 엔티티로 채워져 있다고 가정합니까?

어쩌면 당신이 도움이 있는지 확인하기 위해이 시도 할 수 있습니다 :

[fetchRequest setEntity:dataEntity]; 
NSArray *fetchedObjects = [_context executeFetchRequest: fetchRequest error: nil]; 

NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"collegeName" ascending:YES]; 

NSArray *sortDescriptors = @[sortDescriptor]; 
NSArray *sortedFetchedObjects = [fetchedObjects sortedArrayUsingDescriptors:sortDescriptors]; 

sortedFetchedObjects 당신이 찾고있는 정렬 된 객체의 배열을 포함해야합니다.

+0

필자가 제안한 코드를 시도하고 릴리스 명령문을 @ user427969에서 권장하는 수행 방법을 수행 한 후에 옮겼습니다. 어느 것도 작동하지 않습니다. 배열은 여전히 ​​비어 있습니다. – user1563342

관련 문제