代码之家  ›  专栏  ›  技术社区  ›  Tauquir

如何创建按钮对象数组?

  •  0
  • Tauquir  · 技术社区  · 15 年前

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

    但它告诉函数调用中丢失的Sentinel。哪里,我错了?

    3 回复  |  直到 15 年前
        1
  •  1
  •   Pablo    15 年前
    NSArray *myButtons = [[NSArray alloc] initWithObjects:button1, button2, nil];
    

    现在您的数组在分配后有retain count 1,所以您不必保留它。

    当你不需要阵列时,只要释放它

    [myButtons release];
    
        2
  •  1
  •   kennytm    15 年前

    这个 -initWithObjects: 方法必须是 nil

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

    此外,还有 +alloc -retain

        3
  •  1
  •   Warren Burton    15 年前

    您缺少数组的终止nil。

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

    但这可能是泄漏,因为你有一个双重保留。也许更好。

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