我想问一个关于良好代码实践和 MVC 模型的理论问题,情况如下:
该设计包含一个 RootViewController 和一个单例类。单例作为一个控制器,带有一个应该在整个应用程序中可用的计时器对象。计时器对象由 UISwitch 和 NSTimer 组成,它们都归单例控制器所有,因此可以根据需要将 UISwitch 添加到新的 viewController 中,并且可以在整个应用程序中访问计时器对象。
为了使用当前计时器的计数更新 RootViewController 的屏幕,我在单例中创建了一个指向 RootViewController 的指针,并将 RootViewController 设置为该指针,类似于 [singeltonOBject setDelegate:self]。使用这种设计,可以在计时器滴答时从单例访问和更新 RootViewController 的 UILabel。我选择这样做是因为我没有时间实施常规委托。
请注意,RootViewController 归 AppDelegate 所有,而单例类显然不归 RootViewController 所有。因此没有保留周期。
问题:设置从单例到 RootViewController 的指针并从单例控制器更新 UILable 是否违反了良好的编码习惯,是否有任何基本原则未实现?
感谢您的回答!