程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> cocoa touch-有關ios的viewController問題

cocoa touch-有關ios的viewController問題

編輯:編程綜合問答
有關ios的viewController問題

正在開發navigationController 應用。在viewController裡,分別有vcA和vcB。

[self presentModalViewController:vcB animated:YES];

當vcB加載完成,能不能在vcA中獲取到?

我知道有一種方法,通過定義vcB的子類實現,但是我想要IOS裡面自帶的實現方法或屬性。

最佳回答:


我建議使用blocks

如果只需要一個回調。
首先,在第二個viewController裡面加入block屬性。

@property (nonatomic, strong) void (^onCompletion)(void);

然後創建第二個viewcontroller的時候,在第一個viewcontroller裡面填上:

    - (void)showSecondViewController;
    {
    SecondViewController *viewController= [[SecondViewController alloc] init];  viewController.onCompletion= ^{  
 [self dismissViewControllerAnimated:YES completion:nil];
  };
   [ self presentViewController:viewController       
          animated:YES       
        completion:nil];
}

最後,在第二個viewcontroller裡面加上:

- (IBAction)doneTapped;
{
 if (self.onCompletion) { 
   self.onCompletion();
 }
}

如果還要返回值,修改block。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved