- [person sleep];
- //选择器 SEL类型
- SEL sel = @selector(sleep); //把OC的一个函数名转化为选择器类型SEL
- //和C的函数指针类似
- sel = @selector(run);
- if ([person respondsToSelector: sel]) { //判断sel选择器代表的函数在person所属的类中有没有实现,判断sel代表的消息有没有响应
- [person performSelector: sel]; //执行选择器
- //调用sel选择器代表的方法
- }
- //@selector(函数名);
- SEL sel1 = @selector(printString: );
- if ([person respondsToSelector: sel1]) { [person performSelector: sel1 withObject: @"1318ios"]; //带一个参数的函数使用selector
- }
- //第二种方式转化为选择器NSSelectorFromString();
- SEL sel2 = NSSelectorFromString(@"run");
- //把OC的字符串转化为SEL选择器类型;
- //这个字符串是一个函数名字符串
- if ([person respondsToSelector: sel2]) { //判断sel选择器代表的函数在person所属的类中有没有实现,判断sel2代表的消息有没有响应
- [person performSelector: sel2]; //执行选择器
- //调用sel2选择器代表的方法
- }
- }
- return 0;
来源: http://lib.csdn.net/snippet/ios/42668