iPhone Core Data对象已添加到NSMutableArray

时间:2010-02-13 23:45:18

标签: iphone-sdk-3.0 core-data nsmutablearray uipickerview

我试图将一堆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];

}

任何帮助都将不胜感激。 克里斯

1 个答案:

答案 0 :(得分:3)

您可以使用NSFetchRequest将数据提取到数组中。看看Core Data Programming guide - Fetching Managed Object。您只需阅读链接的第一部分即可。

执行获取请求将返回一个数组

NSArray *array = [moc executeFetchRequest:request error:&error];