Rob*_*ida 3 iphone cocoa objective-c
可以通过这种方式获得方法:
[obj mergeObjs:obj1,obj2,obj3,nil];
Run Code Online (Sandbox Code Playgroud)
或者以这种方式有一个方法:
[obj mergeObjs:obj1,obj2...obj(n),nil usingBlocks:blk1,blk2,blk3....blk(m),nil];
Run Code Online (Sandbox Code Playgroud)
其中n可能等于或不等于m.
基本上是单个方法声明中的多个变量参数列表.?
这不是一个可能的答案:
[obj merge:[NSArray arrayWithObjects:[NSArray arrayWithObjects:...,nil],[NSArray arrayWithObjects:...,nil]...,nil]];
Run Code Online (Sandbox Code Playgroud)
提前致谢.
这是我找到的单变量参数列表的链接:
http://developer.apple.com/library/mac/#qa/qa1405/_index.html 如何在Objective-C中创建变量参数方法
您无法使用可变长度参数列表实现此目的,但您是否考虑过只传递两个数组?
[obj mergeObjs:(NSArray*)objs usingBlocks:(NSArray*)blocks];
Run Code Online (Sandbox Code Playgroud)
现代版本的clang(最近的Xcode版本使用的Objective C编译器)甚至支持NSArray文字
[instance mergeObjs:@[obj1, obj2, obj3] usingBlocks:@[^{}, ...]];
Run Code Online (Sandbox Code Playgroud)
(当然,确保适当地复制块以插入NSArray).
| 归档时间: |
|
| 查看次数: |
355 次 |
| 最近记录: |