iOS 網絡與多線程--7.Performselector消息處理方法

建立一個IOSApp類app

IOSApp.h文件函數

 1 #import <Foundation/Foundation.h>
 2 
 3 @interface IOSApp : NSObject
 4 
 5 // 1.添加一個無參數的方法
 6 -(void)printInfomation;
 7 
 8 // 2.添加一個有參數的方法
 9 -(void)buyApp:(id)appName;
10 
11 @end

 

IOSApp.m文件spa

 1 #import "IOSApp.h"
 2 
 3 @implementation IOSApp
 4 
 5 // 3.實現頭文件中無參數的方法
 6 -(void)printInfomation
 7 {
 8     NSLog(@"Xcode Interactive Tutorials");
 9 }
10 
11 // 4.實現頭文件中帶有參數的方法
12 -(void)buyApp:(id)appName
13 {
14     NSLog(@"Buy the App%@",appName);
15 }
16 
17 @end

 ViewController.m 文件指針

 1 #import "ViewController.h"
 2 // 5.導入鋼材建立的類的頭文件
 3 #import "IOSApp.h"
 4 
 5 
 6 @interface ViewController ()
 7 
 8 @end
 9 
10 @implementation ViewController
11 
12 
13 - (void)viewDidLoad {
14     [super viewDidLoad];
15     // Do any additional setup after loading the view, typically from a nib.
16     
17     // 6.初始化一個類對象
18     IOSApp *app = [[IOSApp alloc] init];
19     // 7.@selector()能夠理解爲取類方法的編號,它的行爲基本能夠等同c語言中的函數指針,它的結果是SEL類型。
20     SEL method = @selector(printInfomation);
21     // 8.respondsToSelector()方法,用來判斷是否有,以某個名字命名的方法。
22     if ([app respondsToSelector:method]){
23         
24         // 9.performSelector是由運行時系統負責去找方法的,在編譯時不作任何校驗
25         // 調用方法
26         [app performSelector:method];
27     }
28     
29     SEL method2 = @selector(buyApp:);
30     if ([app respondsToSelector:method2]) {
31         // 調用方法
32         [app performSelector:method2 withObject:(@"Photoshop Interactive Tutorials")];
33     }
34 }
35 
36 
37 
38 - (void)didReceiveMemoryWarning {
39     [super didReceiveMemoryWarning];
40     // Dispose of any resources that can be recreated.
41 }
42 
43 @end
相關文章
相關標籤/搜索