Can you store functions in an array in Objective C?
arrays, function, ios, objective-c, random
Solution
As for ObjC blocks you can just store them in an `NSArray` directly. Plain C functions have to be wrapped into an `NSValue`:
NSArray *functions = @[[NSValue valueWithPointer:function1], [NSValue valueWithPointer:function2]];
Then you can call them as follow, just make sure you cast it to correct signature:
((void (*)(int))[functions[RandomNum] pointerValue])(10);
Problem
I want to make an array of functions so that I could randomize the order in which these arrays happen. Could I do something like: ``` NSMutableArray *MyArray = [NSMutableArray arrayWithObjects: function1, function2, function3, nil]; ``` So that if I could do something like this; ``` RandomNum = arc4random() %([MyArray count]); MyArray[RandomNum]; ``` Thus Randomizing the order in which these functions are called in? How do I store the functions in this array?