Tôi có một ứng dụng có hai phân đoạn. Trong một trong những phân đoạn, bộ điều khiển xem hiện tại trở thành một đại biểu và người kia thì không.PrepareForSegue và các đại biểu
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"MoreOptions"]) {
UINavigationController *navigationController = segue.destinationViewController;
MoreOptionsViewController *controller = (MoreOptionsViewController *)navigationController.topViewController;
controller.delegate = self;
} else if ([segue.identifier isEqualToString:@"FullStoryView"]) {
SingleStoryViewController *detailViewController = segue.destinationViewController;
detailViewController.urlObject = sender;
}
}
Tất cả điều này đều hoạt động tốt, nhưng tôi muốn thử và hiểu mã tốt hơn. Những gì tôi không hiểu là tôi có để có được một tham chiếu đến MoreOptionsViewController bằng cách lấy nó từ navigationController.topViewController hơn là chỉ đơn giản là nhận được nó từ segue.destinationViewController như tôi làm trong điều kiện thứ hai nếu. Có phải vì tôi đang đặt trình điều khiển chế độ xem hiện tại (self) làm đại biểu không? Một lần nữa, tôi không cố gắng giải quyết vấn đề, chỉ cố gắng để hiểu rõ hơn về những gì đang xảy ra.
Ahh có, đôi khi câu trả lời nằm trong trang web đơn giản, phải không? Cảm ơn. –