多线程:模拟循环运行
2016-03-24 14:25
190 查看
// // main.m // 09-模拟运行循环 // // Created by gzxzmac on 16/1/28. // Copyright © 2016年 gzxzmac. All rights reserved. // #import <Foundation/Foundation.h> #import <objc/message.h> #import "Person.h" Person *person; void callback(int cmd) { person= [[Person alloc]init]; person.name = @"张三"; // person.age = cmd; // id 对应调用的对象 // SEL 对应的方法 // ((void(*)(id,SEL))objc_msgSend)(person,@selector(run)); int result = ((int(*)(id,SEL,int))objc_msgSend)(person,@selector(run:),cmd); NSLog(@"返回结果:%d",result); } int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... while (YES) { int input = 0; NSLog(@"请输入命令(输入0退出):"); scanf("%d",&input); // NSLog(@"输入命令:%d",input); if (input == 0) { break; } callback(input); } NSLog(@"Hello, World!"); } return 0; }
// // Person.h // 09-模拟运行循环 // // Created by gzxzmac on 16/1/28. // Copyright © 2016年 gzxzmac. All rights reserved. // #import <Foundation/Foundation.h> @interface Person : NSObject @property (nonatomic, copy) NSString *name; @property (nonatomic, assign) int age; - (void)run; - (int)run:(NSInteger)age; @end
// // Person.m // 09-模拟运行循环 // // Created by gzxzmac on 16/1/28. // Copyright © 2016年 gzxzmac. All rights reserved. // #import "Person.h" @implementation Person - (void)run { NSLog(@"%@ %d",self.name,self.age); } -(int)run:(NSInteger)age { self.age = age; NSLog(@"%@ %d",self.name,self.age); return 1; } @end
相关文章推荐
- S3C2440-GPIO和jlink配置
- 2232记录
- C++的类定义中,不能在类中定义自身类的对象,java中却可以
- SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data情况在easyui 的datagrid
- Swift-'as?','as'用法
- leetcode-WordLadder
- 在windows10+word2010中完美使用北大方正word公式输入法总结
- web安全浅析
- CoordinateLayout onMeasure流程分析
- Android快速开发最喜欢使用的几种Android开发框架
- zabbix 3.0.1 的安装
- #if defined和#if !defined(c语言的宏定义)
- 多线程:图片下载案例
- eclipse启动tomcat访问不到主页
- MyEclipse 代码编写,编译卡死,启动卡死解决方案
- POJ 3114 Countries in War(强连通+最短路)
- phpcms按照收藏量排序
- notepad快捷键
- Centos 搭建java运行环境
- 《机器学习(周志华)》 西瓜数据集3.0