iOS 网络与多线程--7.Performselector消息处理方法
2024-10-18 22:36:04
创建一个IOSApp类
IOSApp.h文件
#import <Foundation/Foundation.h> @interface IOSApp : NSObject // 1.添加一个无参数的方法
-(void)printInfomation; // 2.添加一个有参数的方法
-(void)buyApp:(id)appName; @end
IOSApp.m文件
#import "IOSApp.h" @implementation IOSApp // 3.实现头文件中无参数的方法
-(void)printInfomation
{
NSLog(@"Xcode Interactive Tutorials");
} // 4.实现头文件中带有参数的方法
-(void)buyApp:(id)appName
{
NSLog(@"Buy the App%@",appName);
} @end
ViewController.m 文件
#import "ViewController.h"
// 5.导入钢材创建的类的头文件
#import "IOSApp.h" @interface ViewController () @end @implementation ViewController - (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib. // 6.初始化一个类对象
IOSApp *app = [[IOSApp alloc] init];
// 7.@selector()可以理解为取类方法的编号,它的行为基本可以等同c语言中的函数指针,它的结果是SEL类型。
SEL method = @selector(printInfomation);
// 8.respondsToSelector()方法,用来判断是否有,以某个名字命名的方法。
if ([app respondsToSelector:method]){ // 9.performSelector是由运行时系统负责去找方法的,在编译时不做任何校验
// 调用方法
[app performSelector:method];
} SEL method2 = @selector(buyApp:);
if ([app respondsToSelector:method2]) {
// 调用方法
[app performSelector:method2 withObject:(@"Photoshop Interactive Tutorials")];
}
} - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
} @end
最新文章
- 全局唯一ID设计
- Unix及类Unix系统文本编辑器的介绍
- 1Z0-053 争议题目解析46
- 让ztree树默认是关闭的
- Flex开发一周年感悟
- 用Qt写软件系列一:QCacheViewer(浏览器缓存查看器)
- 安装faac编译问题
- CDOJ 481 Apparent Magnitude 水题
- HTML5 例子学习 HT 图形组件
- PS学习之图像选区
- Myeclipse 2014破解教程
- gitlab发送邮件
- Tensorflow CNN入门
- FreeSWITCH取消Digest校验流程
- 7dynamic_cast用法
- linux 和windows系统下同时可用的UML建模工具(umbrello),超强
- Maven-7:Maven配置编译的字符集方法
- SaltStack的salt-ssh使用及LAMP状态设计部署(五)
- 洛谷 P4735 最大异或和 解题报告
- 微信小程序获取用户信息“授权失败”场景的处理