0

我有一个观点,我想在不同的情况下重用。这是一个用户视图,当被触摸时,视图控制器将推送用户详细信息视图控制器。

所以基本上我有一个可以任意数量的超级视图直到视图控制器的视图。我希望该视图能够通知当前正在显示的任何视图控制器以推送用户详细信息视图。

除了使用之外还有其他方法NSNotificationCenter吗?是NSNotificationCenter我最好的选择吗?我试图加入一个协议/委托,但这对我来说行不通。

谢谢!

------------------------------------回复评论----------------

我想拥有它,所以它是动态的。这部分是我的问题。我将在整个代码中使用此视图,当我进行更新/更改时,我不想更改实际的用户视图以使事情正常进行

一个示例是在以下层次结构中添加此用户视图:viewcontroller->tableview->tableviewcell->userview。但是我也想像这样添加它:viewcontroller->userview。

4

2 回答 2

1

navigationController.topViewController在这种情况下可能会有所帮助。或者,如果您的应用使用单个导航堆栈,您可以在 appDelegate 中处理此通知

@interface AppDelegate
@property (nonatomic, strong) UINavigationController *nav;
...
[nav pushViewController:userVC animated:YES];

我认为在这种情况下使用 NSNotification 确实有意义。根据 MVC,处理触摸事件的 UIView 不需要了解它所在的 View Controller 层次结构。通知处理该问题。

于 2013-08-29T05:31:01.553 回答
0

我在想我将 a 子类化UINavigationController并在那里注册我的NSNotification,然后我不必担心UIViewController在我的应用程序中注册每个。我将把这个答案留在这里一会儿,而不是检查它作为答案,看看这可能会产生什么样的副作用。

于 2013-08-29T05:11:00.007 回答