2

我对一般编程和特别是客观的 c 核心数据非常陌生。我正在尝试从电子表格中读取数据并将其显示在表格视图中。我为保存对象而创建的数组是空的。我不确定如何将数据保存到数组中。另外,我收到警告说存储的值永远不会被读取。我将非常感谢您对此提供的任何帮助——在我无能为力的情况下。

这是我的代码:

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];
    }
}
4

1 回答 1

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 应包含您要查找的已排序对象的数组。

于 2012-10-22T22:34:29.527 回答