其做用至关于函数指针,如今我看到的大多说用法都是在调用某些函数须要传递一个 函数指针 参数时,使用@selector。它会在当前类里面查找selector后面所跟的函数,返回一个SEL类型的值。函数
SEL变量的执行.用performSelecor方法来执行.spa
[对象 performSelector:SEL变量 withObject:参数1 withObject:参数2];指针
在调用respondsToSelector:@selector(method)时,这个method只有在该方法存在参数时须要 ":",若是该方法不须要参数就不须要加这个冒号。不然,编译不会报错,只是执行返回的值不对。固然若是方法有多个参数,须要多个冒号,参数有名称的须要带上参数名称。orm
如:有以下方法:对象
-(NSString*)toXmlString;blog
此时调用相似于:get
[self respondsToSelector:@selector(toXmlString)]博客
若是toXmlString方法的定义为:it
-(NSString*)toXmlString:(NSString*)prefix;编译
那么调用就必须加上冒号,如:[self respondsToSelector:@selector(toXmlString:)]
本文出自 “人生得意须尽欢” 博客,请务必保留此出处http://no001.blog.51cto.com/1142339/643237