我试图将一堆Core Data对象(NSStrings)添加到NSMutableArray中,以便我pickerView可以使用字符串作为其数据值。
目前我能够将一个textField中的字符串一次保存到Core Data中的sqlite文件中。
我无法将这些对象从Core Data sqlite文件中拉回到NSMutable数组中。
这是将对象添加到sqlite文件的代码......
-(IBAction)addToPicker
{
CoreDataPickerAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];
NSManagedObjectContext *context = [appDelegate managedObjectContext];
NSManagedObject *thePerson = [NSEntityDescription insertNewObjectForEntityForName:@"Event" inManagedObjectContext:context];
[thePerson setValue:textField.text forKey:@"eventName"];
[context save:&error];
textField.text=@"";
self.viewDidLoad;
[textField resignFirstResponder];
}
现在我有......
- (void)viewDidLoad {
NSMutableArray *array = [[NSMutableArray alloc] init];
//code needed to send all the objects in the sqlite Core Data store into array to be read by the pickerView
self.pickerData = array; // the picker uses NSMutableArray pickerData for its data
[array release];
[super viewDidLoad];
}
任何帮助都将不胜感激。 克里斯
答案 0 :(得分:3)
您可以使用NSFetchRequest将数据提取到数组中。看看Core Data Programming guide - Fetching Managed Object。您只需阅读链接的第一部分即可。
执行获取请求将返回一个数组
NSArray *array = [moc executeFetchRequest:request error:&error];