黑马程序员技术交流社区
标题:
判断对象是否能响应指定的方法
[打印本页]
作者:
yibyli
时间:
2015-9-5 14:38
标题:
判断对象是否能响应指定的方法
1)
(BOOL)respondToSelector:SEL 判断实例是否有这样的方法
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *str = @"123";
if([str respondsToSelector:@selector(appendString:)])
{
NSLog(@"str 对象有appendString:这个方法");
}
}
return 0;
}
2015-09-05 14:23:37.477 test111[523:12834] str 对象有appendString:这个方法
2)
(BOOL)instancesRespondToSelector:SEL 判断一个类是否有这个方法
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
if([NSString instancesRespondToSelector:@selector(stringWithFormat:)])
{
NSLog(@"NSString 类有stringWithFormat:这个方法");
}
}
return 0;
}
但是这里没有输出,也就是返回NO,有点奇怪,NSString类明明有这个方法,却显示没有,想了半天也不知道为什么
作者:
yushimin763
时间:
2015-9-5 16:21
学习一下!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2