Nsh*_*eky 6 arrays random function objective-c ios
我想创建一个函数数组,以便我可以随机化这些数组发生的顺序.我可以这样做:
NSMutableArray *MyArray = [NSMutableArray arrayWithObjects: function1, function2, function3, nil];
Run Code Online (Sandbox Code Playgroud)
如果我可以做这样的事情那么;
RandomNum = arc4random() %([MyArray count]);
MyArray[RandomNum];
Run Code Online (Sandbox Code Playgroud)
这样随机化调用这些函数的顺序?如何将函数存储在此数组中?
至于 ObjC 块,您可以NSArray直接将它们存储在 a 中。普通 C 函数必须包装成NSValue:
NSArray *functions = @[[NSValue valueWithPointer:function1], [NSValue valueWithPointer:function2]];
Run Code Online (Sandbox Code Playgroud)
然后您可以按如下方式调用它们,只需确保将其转换为正确的签名即可:
((void (*)(int))[functions[RandomNum] pointerValue])(10);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2864 次 |
| 最近记录: |