2010-05-11 67 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