2010-05-11 70 views
1

我嘗試使用到初始化與一些布爾值的數組:初始化數組與布爾值

[myArray initWithObjects:[NSNumber numberWithBool:YES], 
         [NSNumber numberWithBool:YES], 
         [NSNumber numberWithBool:YES], 
         nil]; 

似乎要失敗,因爲調試器顯示一個空數組這個聲明進行後...任何線索?

回答

4

確保您alloc -ing對象,以及,即:

NSArray *myArray = [[NSArray alloc] initWithObjects:...]; 
... 
[myArray release]; 

或者:

NSArray *myArray = [[[NSArray alloc] initWithObjects:...] autorelease]; 

或者:

NSArray *myArray = [NSArray arrayWithObjects:...]; 
+1

或更好地利用NSArray的arrayWithObjects:到同時執行兩個操作 – Mark 2010-05-11 10:59:15

+0

有時,alloc-init更可取,只要它不再是n就可以釋放數組eeded。但無論哪種方式的作品 – 2010-05-11 11:01:18

+0

感謝大家。我發現了這個錯誤。我做了一個initWithContentsOfFile,如果不成功,應該加載默認值。缺少的鏈接是,如果從文件加載失敗,我必須分配/ init。 – iFloh 2010-05-11 13:27:25