我通过设置一个以模态方式呈现的ViewController的delegate属性来解决问题。以下代码是Presenting a View Controller Modally的示例代码的修改副本。
AddContactPersonTableViewController *addController = [[AddContactPersonTableViewController alloc] initWithNibName:@"AddContactPersonTableViewController" bundle:nil];
addController.delegate = self;
UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:addController];
[self presentModalViewController:navigationController animated:YES];
[navigationController release];
[addController release];
对于addController.delegate = self;
,有一个错误:“请求成员'委托',而不是结构或联合”
我不知道如何解决这个问题。也许你可以解决它;)
答案 0 :(得分:0)
你的AddContactPersonTableViewController.h看起来像。您是否在此课程中添加了委托协议?你需要设置代理吗?你可能甚至不需要这样做,如果你不需要以前的viewcontroller在新的viewcontroller被解雇或类似的东西时做一些动作..
答案 1 :(得分:0)
AddContactPersonTableViewController必须在.h文件中声明一个名为delegate的属性,如:
id delegate;
委托也应该有一个有效的setter: @property(nonatomic,retain)id delegate;