1

Actuellement, j'ai une entité nommée "Events" dans une application CoreData. "Events" a une propriété de chaîne nommée "eventName".Charger la propriété string des objets CoreData dans UIPickerView

Dans le - (void) viewDidLoad J'essaie de récupérer tous les objets "Events" et de charger leur "eventName" par ordre alphabétique dans un UIPickerView.

L'objectif ultime est l'utilisation d'un champ textField, de boutons et de pickerView en ajoutant de nouveaux objets et en supprimant les objets indésirables. Fondamentalement en tournant le UIPickerView dans un UITableView. Actuellement, je suis en mesure d'enregistrer des objets dans le magasin CoreData, mais je ne suis pas en mesure de les extraire/leurs propriétés dans le UIPickerView. Je suis prêt et capable de partager le code source du projet à quiconque le souhaite, ou est prêt à le regarder pour aider.

grâce Chris

+0

Alors, quelle est la question? –

+0

J'ai été en mesure de trouver certaines de mes réponses ci-dessous, j'ai également posté le code. Mais ma question actuelle est, est-il possible/comment supprimer un des objets CoreData à partir de celui-ci étant sélectionné dans le UIPickerView? – OscarTheGrouch

Répondre

1
-(void)update 
{ 
    NSMutableArray *array2 = [[NSMutableArray alloc] init]; 

    CDPickerAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate]; 
    NSManagedObjectContext *moc = [appDelegate managedObjectContext]; 
    NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"Event" inManagedObjectContext:moc]; 
    NSFetchRequest *request = [[[NSFetchRequest alloc] init] autorelease]; 
    [request setEntity:entityDescription]; 

    NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"callName" ascending:YES]; 
    [request setSortDescriptors:[NSArray arrayWithObject:sortDescriptor]]; 
    [sortDescriptor release]; 

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

    for (int i=0; i<array.count; i++) {  
     Event *theEvent = [array objectAtIndex:i]; 

     NSString *StringOne = [NSString stringWithFormat:@"%@",theEvent.callName]; 

     [array2 addObject:StringOne]; 

    } 

    self.pickerData = array2; 
    [singlePicker reloadAllComponents]; 

} 

-(IBAction)addCall{ 
    CDPickerAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate]; 
    NSManagedObjectContext *context = [appDelegate managedObjectContext]; 
    NSManagedObject *theEvent = [NSEntityDescription insertNewObjectForEntityForName:@"Event" inManagedObjectContext:context]; 

    [theEvent setValue:callField.text forKey:@"callName"]; 

    [context save:&error]; 

    [email protected]""; 

[callField resignFirstResponder]; 
self.update; 
}