0

我的代码如下:

NSString *str1 = @"Name";
NSString *str2 = @"Age";

NSArray *array = [[NSArray alloc] initWithObjects: str1, str2 count:2];

但是,当我 Build & Run 时,我抛出一个异常,上面写着: Expected ':' right before the 'c' in count.

为什么是这样?我试过输入 ':' 虽然我知道这在语法上不正确,然后 Xcode 要求我在之前用 ']' 结束count

4

2 回答 2

4

initWithObjects:count:用于 C 数组。在您的情况下,您将希望在最后使用initWithObjects:一个nil参数:

NSString *str1 = @"Name";
NSString *str2 = @"Age";

NSArray *array = [[NSArray alloc] initWithObjects: str1, str2, nil];
于 2012-10-23T13:30:19.163 回答
3

如果你刚开始学习 Objective-C,就用最近介绍的最方便的方法:

NSArray* array= @[ str1, str2] ;

有关详细信息,请参阅Xcode 4.4 发行说明中提到的“Objective-C Literals”的详细信息是什么?

于 2012-10-23T13:35:32.930 回答