iOS 協議delegate分六步

來源:互聯網
上載者:User

標籤:

第一步:聲明協議            在RootView.h中,          @protocol 協議名 <基類>           方法           @end@protocol RootViewDelegate <NSObject>- (void)presentToViewController;@end 第二步:聲明代理人          在RootView.h中//必須是assign,為了防止兩個對象之間的循環參考@property (nonatomic, assign)id<RootViewDelegate>rootDelegate;(屬性)。。。。@end 第三步:執行協議方法在RootView.m中- (void)buttonAction:(UIButton *)button{
   //協議第三步:執行協議方法
    [self.rootDelegate presentToViewController];} 第四步:簽訂協議在 RootViewController.m中人//協議第四步:簽訂協議@interface RootViewController ()<RootViewDelegate,UINavigationControllerDelegate,UIImagePickerControllerDelegate>(屬性)。。。。@end 第五步:設定代理人在 RootViewController.m中人- (void)viewDidLoad {    [super viewDidLoad];    self.rootV = [[RootView alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
    [self.view addSubview: self.rootV];    [_rootV release];      //協議第五步:設定代理人
    self.rootV.rootDelegate = self;
   } 第六步:實現協議方法在 RootViewController.m中人//協議第六步:實現協議方法
- (void)presentToViewController{    //下一個頁面:模態    FirstViewController *firstVC = [[FirstViewController alloc] init];    [self presentViewController:firstVC animated:YES completion:^{           }];    NSLog(@"aaaaa");}  /** 總結協議/代理模式
 1.什麼情況下用協議?
 第一個類裡建立了第二個類對象,並給第二個對象傳值 當第二個類的對象要想控制第一個類裡的方法,或者給第一個類傳值,必須用協議 */ 

iOS 協議delegate分六步

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.