我有一個使用CoreData數據庫的TableViewController。 我有另一個UIviewController我想從中讀取TableViewController的數據庫。 我所做的是如下。從TableViewController的CoreData數據庫提取數據
//In UIviewController
-(NSArray *)fetchRecordedDatainsqldatabase
{
// construct a fetch request
NSError *error;
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"TrackerList" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
//[fetchRequest setFetchBatchSize:20];
// Create the sort descriptors array.
NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"descript" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:descriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
// return the result of executing the fetch request
return [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];}
我有
@property (strong, nonatomic) NSManagedObjectContext *managedObjectContext;
But managedObjectContext is always nil, at the line
NSEntityDescription *entity = [NSEntityDescription entityForName:@"TrackerList"
inManagedObjectContext:self.managedObjectContext];
一個屬性,因此,當它達到該行的程序總是崩潰。 可能是什麼問題?
你在哪裏創建NSManagedObjectContext? – ColinE 2013-03-03 07:10:01
在ViewDidLoad中作爲_managedObjectContext = [[NSManagedObjectContext alloc] init]; – Bryanyan 2013-03-03 07:45:52
事情是如果我把_managedObjectContext = [[NSManagedObjectContext alloc] init];在ViewDidLoad中,_managedObjectContext不是零。但是當程序到達行NSEntityDescription * entity = [NSEntityDescription entityForName:@「TrackerList」 inManagedObjectContext:self.managedObjectContext]時仍然崩潰; – Bryanyan 2013-03-03 07:49:15