在程序设计的过程中,有的时候想通过 动态的给类传递一个不同的字符串,来动态的调用,自己当前想调用的方法。在objective-C中 @selector 提供了这种机制。
自己遇到的常用方式如下:
// obj is a class 's objective
SEL aSelector = NSSelectorFromString(@"methodName");
if ([obj respondsToSelector:aSelector]) {
[obj performSelector:aSelector]
}
当然了。调用 还可以是 带参数的方法等,都是相同的处理,这里就不写了。以上代码中,if的作用是 判断本对象是否可以响应该函数,如果可以的话才去调用。防止,因为传入的参数异常。导致崩溃。