构建代码的最佳方式

Best way to structure code

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

我应该使用单例来管理这些 UIView 的队列吗?或者应该有一个 UIViewController 有一个队列?还是别的?

谢谢!

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

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

  1. 检查 viewDidLoad() 队列中是否有通知。如果为真,请出示。
  2. 创建一个计时器并每隔 seconds/minutes
  3. 检查一次队列
  4. 想象一下并实施 观察者模式 这样每个 ViewController 都会订阅您的通知管理器 class 以便它通知 VC新数据可用。发生这种情况时,它将通过 protocol 将表示逻辑委托给视图控制器 (Prefered)

编辑: 如果您选择 #3(您可能应该这样做),请记住使用 weak 作为代表,因为你不想泄露 VCs