博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OC3_选择器
阅读量:5086 次
发布时间:2019-06-13

本文共 1892 字,大约阅读时间需要 6 分钟。

////  Dog.h//  OC3_选择器////  Created by zhangxueming on 15/6/16.//  Copyright (c) 2015年 zhangxueming. All rights reserved.//#import 
@interface Dog : NSObject@property (copy)NSString *name;@property (assign,nonatomic)NSInteger age;- (void)bark:(NSNumber *)count;@end
////  Dog.m//  OC3_选择器////  Created by zhangxueming on 15/6/16.//  Copyright (c) 2015年 zhangxueming. All rights reserved.//#import "Dog.h"@implementation Dog- (void)bark:(NSNumber *)count{    NSInteger  cnt = [count integerValue];    for (NSInteger i=0; i
////  main.m//  OC3_选择器////  Created by zhangxueming on 15/6/16.//  Copyright (c) 2015年 zhangxueming. All rights reserved.//#import 
#import "Dog.h"//函数指针变量int add(int a, int b){ return a+b;}//选择器//运行层次概念//selint main(int argc, const char * argv[]) { @autoreleasepool { int (*pfunc)(int, int) = add; NSLog(@"add = %d", pfunc(3,5)); Dog *xiaoBai = [[Dog alloc] init]; //[xiaoBai bark:[NSNumber numberWithInt:4]]; //1.利用@selector关键字生成选择器#pragma clang diagnostic push#pragma clang diagnostic ignored "-Warc-performSelector-leaks" //方法一: //SEL select = @selector(bark:); //方法二: //利用方法名的字符串对象生成选择器 SEL select = NSSelectorFromString(@"bark:"); //方法三: //利用C语言的字符串生成选择器 //SEL select = sel_getUid("bark:"); //获取选择器中保存的方法名 NSLog(@"%s", sel_getName(select)); NSLog(@"%@", NSStringFromSelector(select)); //NSLog(@"%p", select); //判断对象所在的类是否实现选择器中的方法 if([xiaoBai respondsToSelector:select]) { //执行选择器中保存的方法 //[xiaoBai performSelector:select withObject:[NSNumber numberWithInteger:10]]; [xiaoBai bark:[NSNumber numberWithInteger:10]]; }#pragma clang diagnostic pop } return 0;}

 

转载于:https://www.cnblogs.com/0515offer/p/4581203.html

你可能感兴趣的文章
BZOJ1058: [ZJOI2007]报表统计
查看>>
2018.11.22-day24 面向对象-继承
查看>>
批量修改数据库的结构者
查看>>
51Nod - 1057 -- N的阶乘(大整数乘法)
查看>>
Vue-路由跳转的几种方式和路由重定向
查看>>
溢出省略号
查看>>
ACM训练小结-2018年6月23日
查看>>
Friendship POJ - 1815 基本建图
查看>>
韩顺平linux个人思想上的收获
查看>>
算法入门经典-第四章 例题4-4 信息解码
查看>>
windbg双机调试配置[转]
查看>>
关于程序高内聚低耦合的思考
查看>>
爬虫软件开发要用到的代码
查看>>
Bzoj1018/洛谷P4246 [SHOI2008]堵塞的交通(线段树分治+并查集)
查看>>
AQS
查看>>
深入理解JavaScript Hijacking原理
查看>>
StarWind的安装配置
查看>>
计划安装SQL Server2012需求详细
查看>>
第一天:学会如何在pycharm上编写第一条robotframework用例
查看>>
python selenium firefox 添加cookie add_cookie
查看>>