如何创建未知NSStrings的NSArray?

ohh*_*hho 1 iphone objective-c nsarray

例如,我有@"John", @"Peter", ..., @"May"并且需要构建NSArray:

 [@"John", @"Peter", ..., @"May"]
Run Code Online (Sandbox Code Playgroud)

数量NSString未知,正在从导入文本文件中获取.由于NSArray不支持追加新元素,我该如何创建NSArray

谢谢

更新,让我重新解释一下这个问题.如何创建跟随函数调用所需的动态数组参数?

 [segmentedAttributes attributesWithTitlesArray:[NSArray arrayWithObjects:@"John", @"Peter", @"May", nil]]
Run Code Online (Sandbox Code Playgroud)

Yuj*_*uji 5

你没有.

你误解了图书馆的行为.

确实有一个方便的构造函数arrayWithObjects:,因此使用:

NSArray* array=[NSArray arrayWithObjects:@"Low", @"Medium", @"High", nil];
Run Code Online (Sandbox Code Playgroud)

但是这不会nil在最后创建一个数组.这nil只是表示可变长度参数列表的结束.它只创建了一个NSArray包含三个元素,而不是最后一个元素nil.

您只需要创建一个NSArray包含所需元素的文件,并将其传递给库函数.例如:

NSMutableArray*array=[NSMutableArray array];
while(...){
    ... get a string ...
    [array addObject: string];
}

SCSegmentedAttributes*attributes=[SCSegmentedAttributes attributesWithSegmentTitlesArray:array];
Run Code Online (Sandbox Code Playgroud)

应该工作,而不添加nil[NSNull null].