NSInvocation with non object parameter
Objective-C and Foundation give us the ability to do pretty awesome things by building method calls at run time.
As long as you are in the objects realm everything's straightforward, but if you happen to need using non objects there are some extra steps to be taken.
Here's how to build an NSInvocation
for a method that has a CGFloat
parameter.
// Build the NSInvocation
SEL selector = ...;
NSMethodSignature *signature = [someObject methodSignatureForSelector:selector];
NSInvocation *invocation = [NSInvocation invocationWithMethodSignature:signature];
// Configure the NSInvocation instance
invocation.selector = selector;
invocation.target = ...;
// Using a non object parameter is easy!
CGFloat floatValue = 42.0;
[invocation setArgument:&floatValue atIndex:2];
You can find out more about how powerful and versatile NSInvocation
is on the Apple Documentation.
Written by Giovanni Lodi
Related protips
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Ios
Authors
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#