如何创建按钮对象数组?

时间:2010-08-07 13:10:12

标签: iphone objective-c arrays

我想使用数组创建10个按钮。如何创建它?我正在使用

array  = [[[NSArray alloc] initWithObjects:button1, button2] retain];

但它在函数调用中告诉Missing Sentinel。哪里,我错了?

3 个答案:

答案 0 :(得分:1)

NSArray *myButtons = [[NSArray alloc] initWithObjects:button1, button2, nil];

现在,您的数组在分配后保留计数1,因此您不必保留它。

当您不需要阵列时,只需将其释放

即可
[myButtons release];

答案 1 :(得分:1)

-initWithObjects:方法必须为nil - 终止:

array = [[NSArray alloc] initWithObjects:button1, button2, nil];
//                                                       ^^^^^

此外,+alloc方法已经返回保留计数为+1的对象。没有-retain它。

答案 2 :(得分:1)

您缺少数组的终止nil。

array = [[[NSArray alloc] initWithObjects:button1, button2,nil] retain];

但是当你得到双重保留时,这可能会泄漏。更好的可能是。

array = [[NSArray arrayWithObjects:button1, button2,nil] retain];