对象方法响应判断...类方法没得判断...respondsToSelector instancesRespondToSelector | instanceMethodForSelector
2016-01-08 10:38
369 查看
#import "Student.h"
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
Person * p = [Person new];
Student * s = [Student new];
Student * s1 = [Student new];
if ([p respondsToSelector:NSSelectorFromString(@"run")]) {
[p run];
};
// IMP 指向方法的地址, 只是一个地址(void *)类型.
IMP imp = [Student instanceMethodForSelector:NSSelectorFromString(@"study")];
NSLog(@"%p", imp);
void (*func)(id, SEL) = (void *)imp;
NSLog(@"%p", func);
func(s, NSSelectorFromString(@"study"));
BOOL flag = [Student instancesRespondToSelector:@selector(study)];
NSLog(@"%d", flag);
//类方法能不能判断?
NSLog(@"%d", [Student instancesRespondToSelector:@selector(test)]);
//结果 = 0 , 不能判断...
}
return 0;
}
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
Person * p = [Person new];
Student * s = [Student new];
Student * s1 = [Student new];
if ([p respondsToSelector:NSSelectorFromString(@"run")]) {
[p run];
};
// IMP 指向方法的地址, 只是一个地址(void *)类型.
IMP imp = [Student instanceMethodForSelector:NSSelectorFromString(@"study")];
NSLog(@"%p", imp);
void (*func)(id, SEL) = (void *)imp;
NSLog(@"%p", func);
func(s, NSSelectorFromString(@"study"));
BOOL flag = [Student instancesRespondToSelector:@selector(study)];
NSLog(@"%d", flag);
//类方法能不能判断?
NSLog(@"%d", [Student instancesRespondToSelector:@selector(test)]);
//结果 = 0 , 不能判断...
}
return 0;
}
相关文章推荐
- .NET开发者启程Docker之路
- (java)Count Primes
- H5前端性能优化高级进阶
- The following changes are necessary to perform the refactoring
- HDU2602 Bone Collector 【01背包】
- 通过Socket uevent与内核通信
- JavaScript拖拽、碰撞、重力及弹性运动实例分析
- Zepto tap 穿透bug、解决移动端点击穿透问题
- 欢迎使用CSDN-markdown编辑器
- API是什么
- wpf contextMenu设置问题
- l backtype.storm.ui.core Exception in thread "main" java.net.BindException: Address already in use
- 关于使用libcurl下载网页源码中文乱码问题!
- 【详解】修改WEBWAP畅游通行证相关
- Spring学习笔记---1-Spring基础介绍
- iOS开发过程中一些数据的存储归档
- Linksys 宣布其所有的 WRT 路由器开始全面支持 DD-WRT
- git 使用(ssh key创建和github使用)
- Android LinearLayout(线性布局)
- iOS个人整理06-第一周小结,常用控件UIView,UILabel,UIImageView,UIButton,UITextField