在 Objective-C 中,SEL(Selector)是一种用来表示方法的类型。
它实际上是一个指向方法的指针,用于在运行时动态调用方法。
下面是一个使用 SEL 的代码示例:
#import <Foundation/Foundation.h>
@interface MyClass : NSObject
- (void)method1;
- (void)method2;
@end
@implementation MyClass
- (void)method1 {
NSLog(@"This is method1");
}
- (void)method2 {
NSLog(@"This is method2");
}
@end
int main() {
SEL selector1 = @selector(method1);
SEL selector2 = @selector(method2);
MyClass *myObject = [[MyClass alloc] init];
// 通过 SEL 调用方法
if ([myObject respondsToSelector:selector1]) {
IMP imp = [myObject methodForSelector:selector1];
void (*func)(id, SEL) = (void *)imp;
func(myObject, selector1);
}
if ([m

本文详细介绍了Objective-C中的SEL(Selector)概念,展示了如何使用SEL动态地在运行时调用`MyClass`中的`method1`和`method2`方法,包括方法的响应判断和实现获取。
最低0.47元/天 解锁文章
518

被折叠的 条评论
为什么被折叠?



