How to I pass @selector as a parameter?

后端 未结 5 1139
[愿得一人]
[愿得一人] 2021-01-30 07:00

For the method:

[NSThread detachNewThreadSelector:@selector(method:) toTarget:self withObject:(id)SELECTOR];

How do I pass in a @selector? I tr

5条回答
  •  忘了有多久
    2021-01-30 07:07

    Use NSValue, like so:

    +(void)method1:(SEL)selector {
        NSValue *selectorValue = [NSValue value:&selector withObjCType:@encode(SEL)];
        [NSThread detachNewThreadSelector:@selector(method2:) 
                                 toTarget:self 
                               withObject:selectorValue];
    }
    

    NSValue is intended as an object-wrapper for arbitrary non-object types.

提交回复
热议问题