我使用UIViewController
列出2个不同位置的项目。一个地方是它的默认主页,另一个是另一个控制器将其推送到导航堆栈以查看项目列表。
这两个地方都允许您通过单击导航栏中的添加按钮向其添加新项目。列表的行为是根据NSObject *
调用targetController
来确定的,调用者将其设置为self
引用,否则默认为nil
。
我遇到了一个问题,如果你让它们同时在tabBar的单独标签中显示,则navBar title
/ rightBarButtonItem
会在首先调用的那个标签上消失。我终于发现每当推送列表的视图导致items
被移除时,navBar就会替换navigationItem
堆栈。
我唯一的解决方案是每当按下tabBar按钮项时强制弹出列表的视图。 有更好的方法吗?
BTW,我选择在两个不同的地方使用相同的控制器,以避免重复的功能,从而减少代码。答案 0 :(得分:0)
我非常确定在导航堆栈中弹出和推出视图是完全处理切换视图的正确方法,如果你要远离导航,那么弹出视图很可能保持低内存使用率的好方法。请记住也要发布它们。