IOS之学习笔记十五(协议和委托的使用)
生活随笔
收集整理的這篇文章主要介紹了
IOS之学习笔记十五(协议和委托的使用)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、協議和委托的使用
1)、協議可以看下我的這篇博客
IOS之學習筆記十四(協議的定義和實現)?https://blog.csdn.net/u011068702/article/details/80963731
2)、委托可以叫代理,實現協議的類的對象可以叫委托對象或者代理對象
3)、關鍵就是我們在控制器里類(獲取數據類)里面的成員變量需要是一個委托對象或者代理對象
4)、然后調用控制器里類(獲取數據類)里面的方法的時候會調用委托對象里面定義的方法
?
?
?
?
?
?
2、測試app啟動彈框提示
1)、control.h
#ifndef Control_h #define Control_h #import <Foundation/Foundation.h>//協議定義 @protocol UpdateAlertDelegate -(void)updateAlert; @end@interface Control : NSObject //遵循協議的一個代理變量定義 @property (nonatomic, weak) id<UpdateAlertDelegate> delegate; - (void) willShowAlert; @end #endif /* Control_h */?
2)、control.m
#import <Foundation/Foundation.h> #import "Control.h" @implementation Control- (void) willShowAlert {[self.delegate updateAlert]; }@end?
?
?
3) 、我們在ViewController.h文件里面實現在control.h文件里面定義的協議
#import <UIKit/UIKit.h> #import "Control.h"@interface ViewController : UIViewController<UpdateAlertDelegate>@end?
?
?
4)、在ViewController.m文件里面實現協議的定義的方法,而且實例化對象設置自己為委托對象
#import "ViewController.h" #import "Control.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad {[super viewDidLoad];Control *control = [Control new];control.delegate = self;[control willShowAlert]; }- (IBAction)ui:(id)sender {NSLog(@"hello word"); }- (void)didReceiveMemoryWarning {[super didReceiveMemoryWarning];// Dispose of any resources that can be recreated. }- (void)updateAlert {UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"提示" message:@"協議和代理" delegate:self cancelButtonTitle:nil otherButtonTitles:@"確定",nil];alert.alertViewStyle=UIAlertViewStyleDefault;[alert show]; } @end?
?
?
?
?
3、效果
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的IOS之学习笔记十五(协议和委托的使用)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IOS之学习笔记十四(协议的定义和实现)
- 下一篇: Android Studio之导入安卓项