When writing your own methods in Objective-C parameters must be explicitly type casted to the data type that you would like to pass through. The ^ symbol signifys that you are passing in a block. If you would like to pass another parameter after the block - you would simply add the next part of the method name followed by the data type, and then your choice of the variable name. You would do so like this:
-(void)funcName: (const NSString *)name parameter: (void(^)(ClassName *input)) obj withOtherParameter:(NSString *) param {
// Use it here and do what you will
NSLog(@"Param = %@", param);
}
This assumes you are passing in an NSString to be called "param". If you would like to pass in any other data type, just replace the (NSString *)
with (NSNumber *)
or (NSInteger)
before the "param" in the code and then the param variable will be cast as whatever data type you would like.