构建代码的最佳方式
Best way to structure code
我有一个 UIView
子类充当内部 "notification" 系统,它内部有一个标签,显示通知文本并从视图顶部向下动画并返回。我需要创建一个系统来创建这些通知的队列(可以从我的应用程序中的任何位置添加),并一个一个地显示它们,但想知道我应该如何构建它。
我应该使用单例来管理这些 UIView
的队列吗?或者应该有一个 UIViewController
有一个队列?还是别的?
谢谢!
这通常由数据持久化管理 class。您希望将数据层与视图层分开,以便正确维护它。通过创建一个 class 来实现通知逻辑,它在队列中管理通知数据本身,并且只在视图中显示所述数据,在任何应该显示所述通知的 viewcontroller 中。
创建管理通知数据的 class 后,您可以:
- 检查
viewDidLoad()
队列中是否有通知。如果为真,请出示。
- 创建一个计时器并每隔 seconds/minutes
检查一次队列
- 想象一下并实施 观察者模式 这样每个 ViewController 都会订阅您的通知管理器 class 以便它通知 VC新数据可用。发生这种情况时,它将通过
protocol
将表示逻辑委托给视图控制器 (Prefered)
编辑: 如果您选择 #3(您可能应该这样做),请记住使用 weak
作为代表,因为你不想泄露 VCs
我有一个 UIView
子类充当内部 "notification" 系统,它内部有一个标签,显示通知文本并从视图顶部向下动画并返回。我需要创建一个系统来创建这些通知的队列(可以从我的应用程序中的任何位置添加),并一个一个地显示它们,但想知道我应该如何构建它。
我应该使用单例来管理这些 UIView
的队列吗?或者应该有一个 UIViewController
有一个队列?还是别的?
谢谢!
这通常由数据持久化管理 class。您希望将数据层与视图层分开,以便正确维护它。通过创建一个 class 来实现通知逻辑,它在队列中管理通知数据本身,并且只在视图中显示所述数据,在任何应该显示所述通知的 viewcontroller 中。
创建管理通知数据的 class 后,您可以:
- 检查
viewDidLoad()
队列中是否有通知。如果为真,请出示。 - 创建一个计时器并每隔 seconds/minutes 检查一次队列
- 想象一下并实施 观察者模式 这样每个 ViewController 都会订阅您的通知管理器 class 以便它通知 VC新数据可用。发生这种情况时,它将通过
protocol
将表示逻辑委托给视图控制器 (Prefered)
编辑: 如果您选择 #3(您可能应该这样做),请记住使用 weak
作为代表,因为你不想泄露 VCs