2010-02-13 7 views
3

J'essaie d'ajouter un ensemble d'objets de données de base (NSStrings) à un NSMutableArray de sorte que je pickerView puisse utiliser les chaînes comme valeurs de données.Objets de données iPhone Core ajoutés à NSMutableArray

Actuellement, je suis en mesure d'enregistrer des chaînes d'un textField un à la fois dans le fichier sqlite, dans Core Data.

Je rencontre des problèmes pour retirer ces objets du fichier sqlite Core Data et dans un tableau NSMutable.

Ceci est le code pour ajouter des objets dans le fichier 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]; 
} 

En ce moment, j'ai ...

- (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]; 

} 

toute aide serait grandement apprécié. Chris

Répondre

3

Vous pouvez utiliser NSFetchRequest pour extraire les données dans le tableau. Jetez un oeil à la Core Data Programming guide - Fetching Managed Object. Vous avez juste besoin de lire la première section du lien.

L'exécution d'une demande d'extraction retourne un tableau

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

Merci pour la réponse. J'ai été capable de charger les objets dans le tableau, mais je n'ai pas posé la bonne question. Je cherche à charger l'attribut d'objets "eventName" dans le tableau. Donc j'aurais un tableau de chaînes et non un tableau de NSManagedObjects. – OscarTheGrouch

+0

Une fois que vous avez le tableau de NSManagedObjects, vous pouvez faire une boucle à chaque élément pour mettre seulement eventName dans un autre tableau. –