// 点击cell的时候调用
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
// 加载storyboard
UIStoryboard *storyboard = [UIStoryboardstoryboardWithName:@"Main"bundle:nil];
// 创建编辑控制器
XMGEditViewController *editVc = [storyboardinstantiateViewControllerWithIdentifier:@"edit"];
editVc.contact = self.contacts[indexPath.row];
// 跳转到编辑界面
[self.navigationControllerpushViewController:editVc animated:YES];
}
执行完下面的
[self.navigationController pushViewController:editVc animated:YES];
viewDidLoad方法仍然没有调用,只要当完成了真正的跳转。View显现的时候viewDidLoad方法才会调用
//如果重写set方法为View中的_nameField和_phoneField赋值的话。赋值不上,因为此时Controller中的view还没有创建,所以self.nameField和self.phoneField均为空
-(void)setContact:(XMGContact *)contact{
_contact=contact;
_nameField.text=contact.name;
_phoneField.text=contact.phone;
}
一定要注意在控制器的的子控件有没有加载完毕,加载完毕的时候赋值。一般在ViewDidLoad中赋值。