1

我有一个UIView子类充当内部“通知”系统,它内部有一个标签,显示通知文本并从视图顶部向下动画并备份。我需要创建一个系统来创建这些通知的队列(可以从我的应用程序中的任何位置添加),并一个一个地显示它们,但想知道我应该如何构建它。

我应该使用管理这些UIViews 队列的单例吗?还是应该有UIViewController一个队列?或者是其他东西?

谢谢!

4

1 回答 1

1

这通常由数据持久性类管理。您希望将数据层与视图层分开,以便正确维护它。通过创建一个类来实现通知逻辑,该类在队列中管理通知数据本身,并在应显示所述通知的任何视图控制器中将所述数据呈现在视图中。

创建管理通知数据的类后,您可以:

  1. 检查里面viewDidLoad()是否有队列中的通知。如果属实,请出示。
  2. 创建一个计时器并每隔几秒/分钟检查一次队列
  3. 花哨并实现观察者模式,这样每个 ViewController 都会订阅您的通知管理器类,以便它通知 VC 新数据可用。发生这种情况时,它将通过protocol表示逻辑委托给视图控制器(首选)

编辑:如果你选择#3(你可能应该),记得使用weak代表,因为你不想要泄露的 VC

于 2015-06-02T19:07:30.420 回答