2010-05-21 50 views
1

我以CoreData開始,我有一個問題: 我有一個包含NSNumber對象的數組。我需要爲每個對象創建一個實體Event,只有一個屬性eventNumber也應該是一個NSNumber。CoreData - 我應該傳遞一個現有的NSNumber來設置實體的屬性,還是創建一個新的?

我可以通過我的數組的對象是這樣的:

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

或者是否有必要建立一個新的NSNumber這樣的:

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] 

謝謝您的幫助。

利奧

回答

1

有沒有必要爲此創建一個新的NSNumber;你的第一個選擇是正確的。

你可以,但是,通過使用fast enumeration簡化您的循環:

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

好吧,我將這樣做。 謝謝你的快速回答! – leochab 2010-05-21 12:00:53

相關問題