正在開發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。