CoreData - я должен передать существующий NSNumber, чтобы установить атрибут объекта, или создать новый? - PullRequest
1 голос
/ 21 мая 2010

Я начинаю с CoreData, и у меня есть вопрос: У меня есть массив с объектами NSNumber в нем. Мне нужно создать сущность Event для каждого объекта только с одним атрибутом eventNumber, который также должен быть NSNumber.

Могу ли я передать объект моего массива следующим образом:

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

или необходимо создать новый номер NSN следующим образом:

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]

Спасибо за вашу помощь.

Leo

1 Ответ

1 голос
/ 21 мая 2010

Нет необходимости создавать новый NSNumber для этой цели; Ваш первый вариант правильный.

Однако вы можете упростить цикл, используя быстрое перечисление :

for (NSNumber *num in myArray) {
   Event *newEvent = [NSEntityDescription insertNewObjectForEntityForName:@"Event" inManagedContext:managedContext];
   [newEvent setEventNumber:num]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...