正在为NSNotifications注册所有视图控制器



我有一个自定义图形,当事件发生时将显示给用户。图形需要显示在当前显示给用户的视图控制器上。

到目前为止,我对它进行编程的方式是将其添加到所有视图控件中:1) 自定义图形类的.h文件2) 引发的NSNotification事件的观察者3) 实际绘制图形的方法。

这感觉不是一种非常有效的做事方式,我想知道是否有人有更好的做事方式?

对我来说,这听起来像是你以一种相当理智的方式完成的。我唯一能想到的另一种方法是将图形添加到窗口中,然后将其覆盖在当前视图控制器上,您只需要让一个对象侦听通知。例如,您可以使用应用程序委派。但是,当在顶部添加图形时,您必须自己担心屏幕的旋转。

您所做的是正确的。。你唯一可以改进的是将绘图图形部分染成自定义图形类。。(如果你还没有这么做…

只需将一个UIViewController变量作为member variablegraphics class。。然后将其设置为当前视图显示。。收到notifications。。并且类本身将根据ViewController绘制代码,您将其设置为

感觉效率不高的原因是您复制了大量代码。这在一开始就需要做更多的工作,而且会造成维护方面的头痛。您应该利用构建在面向对象语言中的继承,包括Objective-C。

如果您希望所有视图控制器共享某些行为,那么在一个公共超类中实现该行为。从该超类派生所有其他视图控制器,它们都会自动获得所需的行为。超类的初始值设定项可以为您关心的通知注册视图控制器,-dealloc可以注销它。这样,您就不必用相同的重复代码混淆每个视图控制器,如果您想更改代码,只需在一个地方进行即可。

最新更新