hzx*_*zxu 4 null objective-c nsarray
如果nil用于标记参数的结尾,那么我可以使用:
[NSArray arrayWithObjects:obj1, obj2, nil, nil, nil];
Run Code Online (Sandbox Code Playgroud)
作为第一个零标记数组结束和之后的两个nils将被忽略?
我有两个相反的答案,并会尝试一下.
更新:
我需要这样做的原因是,我需要创建一个UIAlertView,它可能有按钮:'OK'或'Call'和'Cancel',所以'OK'或'Cancel'是取消按钮,"呼叫"是一种情况下的其他按钮,在其他情况下,我不需要任何其他按钮,这就是我需要这样做的原因.
向末尾添加nil并不是为了向数组添加nils,它只是C处理...变量参数列表的工件.它与NSArray或NSMutableArray无关,你也无法存储nil.
所以编译器是否接受,nil,nil,nil实际上是无关紧要的.编译器将在第一个零时停止读取.并且首先编写该代码表明了对obj C集合和var arg方法的误解.
为什么不使用新的文字语法而只是说
NSArray *myArray = @[@"bla", @"bla", @"bla"];
Run Code Online (Sandbox Code Playgroud)
无论哪种方式,额外的内容都不在您提供的语法中.
| 归档时间: |
|
| 查看次数: |
5420 次 |
| 最近记录: |