你好,歡迎來到IOS教程網

 Ios教程網 >> IOS使用技巧 >> IOS技巧綜合 >> IOS代理協議消息單方傳遞機制

IOS代理協議消息單方傳遞機制

編輯:IOS技巧綜合
[摘要]本文是對代理協議消息單方傳遞機制的講解,對學習IOS蘋果軟件開發有所幫助,與大家分享。

單方消息傳遞通常用於子視圖向主視圖傳遞數據,步驟如下;

1.在子視圖中

1.1 定義協議及協議中規定的方法,協議名通常是子視圖控制器名+Delegate:

@protocol GameViewControllerDelegate <NSObject>

- (void)gameOverDeliverTimer:(NSString *)timer;  

@end

1.2 定義代理:

@property (weak, nonatomic) id <GameViewControllerDelegate> delegate;

1.3 子視圖中在需要的地方,通過定義的代理調用協議方法,在父視圖中沒有設置代理的話該方法是不起作用的:

[_delegate gameOverDeliverTimer:_timerLabel.text]

2.在父視圖中

2.1 父視圖頭文件需遵循子視圖的協議才有資格申請成為代理:<GameViewControllerDelegate>

2.2 推出子視圖控制器前,將自己設置成為子視圖的代理,通常是在prepareSegue中實現:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
    GameViewController *controller = [segue destinationViewController];  
    controller.delegate = self;
}

2.3 實現協議中的方法:

- (void)gameOverDeliverTimer:(NSString *)timer{
    NSLog(@"最佳成績:%@秒", timer);
}
  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved