Iphone 以模式显示导航表视图,谁是代理?

Iphone 以模式显示导航表视图,谁是代理?,iphone,objective-c,delegates,uinavigationcontroller,uitableview,Iphone,Objective C,Delegates,Uinavigationcontroller,Uitableview,基本上,我有一个位置层次:国家、州/省、城市 我想使用委托呈现一个“addlocation”模式表 我意识到最好的方法是在TableView中显示我的顶级元素,如果选择了它们,我想进入“下一个”级别。但是,在任何级别上的任何位置都应该能够被“添加”,所以我要么会有一个附件按钮,要么只是一个自定义按钮,上面写着“在单元格上添加” 我想使用委托来完成这项工作,但我不太确定委托应该在哪里。我可以想出两种选择: 1.使用LocationNavigationControllerDelegate将UINav

基本上,我有一个位置层次:国家、州/省、城市

我想使用委托呈现一个“addlocation”模式表

我意识到最好的方法是在TableView中显示我的顶级元素,如果选择了它们,我想进入“下一个”级别。但是,在任何级别上的任何位置都应该能够被“添加”,所以我要么会有一个附件按钮,要么只是一个自定义按钮,上面写着“在单元格上添加”

我想使用委托来完成这项工作,但我不太确定委托应该在哪里。我可以想出两种选择:
1.使用
LocationNavigationControllerDelegate
UINavigationController
子类化为
LocationNavigationController
,然后我需要找到某种方法,使用我的
LocationListTableView
返回消息 2.制作一个包含委托的
LocationListTableView
,每次我进入“下一个”级别时,只需继续传递委托即可。因此,当他们最终点击“添加”按钮时,我原来的ViewController可以获取位置并将其关闭。尽管将委托一直传递到tableview链的上游,但这似乎是错误的。在这种方法中,我只需首先创建一个新的NavController,然后在
LocationListTableView

的根目录树上弹出,具体地说,请查看上的部分


他们的代码示例是使用模式屏幕将配方添加到呈现它的表视图控制器。

NSNavigationController?你是说UINavigationController?你是说我只需要不断地向上推每个表视图的委托,如果有人决定采取行动,它就会走?uitableviewcontroller就是delgates。模态视图让UITableViewController知道他们何时使用您的协议传递了信息,而用户则会依次将其取消,并使用传递的信息添加新行。好吧,我明白您的意思,但我并不完全同意。UITableViewController应该有一个对委托的引用,它们本身不是委托。我称之为presentModalView的原始ViewController是委托。当我的UITableView执行某些操作时,它会调用代理并说“嘿,我完成了”。因此,这就是为什么我会问我是否通过TableView传递委托引用,然后当一个人决定采取行动时,它会调用委托,或者是否有其他方法我应该处理它。