iPhone:ModalViewController的委托

时间:2010-09-23 08:07:36

标签: iphone delegates modalviewcontroller

我通过设置一个以模态方式呈现的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;,有一个错误:“请求成员'委托',而不是结构或联合”

我不知道如何解决这个问题。也许你可以解决它;)

2 个答案:

答案 0 :(得分:0)

你的AddContactPersonTableViewController.h看起来像。您是否在此课程中添加了委托协议?你需要设置代理吗?你可能甚至不需要这样做,如果你不需要以前的viewcontroller在新的viewcontroller被解雇或类似的东西时做一些动作..

答案 1 :(得分:0)

AddContactPersonTableViewController必须在.h文件中声明一个名为delegate的属性,如:

id delegate;

委托也应该有一个有效的setter: @property(nonatomic,retain)id delegate;