2010-02-13 3 views
3

Я пытаюсь добавить в NSMutableArray группу объектов Core Data (NSStrings), чтобы я мог выбирать строки в качестве значений своих данных.Объекты iPhone Core Data, добавленные в NSMutableArray

В настоящее время я могу сохранять строки из текстового поля по одному в файл sqlite в Core Data.

У меня возникли проблемы с вытаскиванием этих объектов из файла sqlite Core Data и в массив 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]; 

[email protected]""; 
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]; 

} 

любая помощь будет очень цениться. Chris

ответ

3

Вы можете использовать NSFetchRequest для извлечения данных в массив. Взгляните на Core Data Programming guide - Fetching Managed Object. Вам просто нужно прочитать первый раздел ссылки.

Выполнение запроса выборки возвращает массив

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

спасибо за ответ. Мне удалось загрузить объекты в массив, но я не задал правильный вопрос. Я хочу загрузить атрибут объектов «eventName» в массив. Поэтому у меня будет массив строк, а не массив NSManagedObjects. – OscarTheGrouch

+0

Когда у вас есть массив NSManagedObjects, вы можете сделать цикл для каждого элемента, чтобы поместить только eventName в другой массив. –

Смежные вопросы