2010-05-21 1 views
1

Je commence avec CoreData et j'ai une question: J'ai un tableau avec des objets NSNumber dedans. J'ai besoin de créer une entité Event pour chaque objet avec un seul attribut eventNumber qui devrait également être un NSNumber.CoreData - Devrais-je transmettre un NSNumber existant pour définir l'attribut d'une entité ou en créer une nouvelle?

Puis-je passer l'objet de mon tableau comme ceci:

for (int i = 0, i<[myArray count], i++){ 
    Event *newEvent = [NSEntityDescription insertNewObjectForEntityForName:@"Event" inManagedContext:managedContext]; 
    [newEvent setEventNumber:[myArray objectAtIndex:i]] 
} 
[myArray release] 

ou est-il nécessaire de créer une nouvelle NSNumber comme ça:

for (int i = 0, i<[myArray count], i++){ 
    Event *newEvent = [NSEntityDescription insertNewObjectForEntityForName:@"Event" inManagedContext:managedContext]; 
    [newEvent setEventNumber:[NSNumber numberWithInt:[[myArray objectAtIndex:i] intValue]] 
} 
[myArray release] 

Merci pour votre aide.

Leo

Répondre

1

Il n'y a pas besoin de créer un nouveau NSNumber à cet effet; votre première option est correcte.

Vous pouvez cependant vous simplifier la boucle en utilisant fast enumeration:

for (NSNumber *num in myArray) { 
    Event *newEvent = [NSEntityDescription insertNewObjectForEntityForName:@"Event" inManagedContext:managedContext]; 
    [newEvent setEventNumber:num] 
} 
+0

Allright, je le ferai. Merci pour votre réponse rapide! – leochab

Questions connexes