我正在开发一个 Cocoa(触摸)应用程序,并且我必须在不同的 View 和 Controller 之间保留某些数据(例如自己的设备信息和位置列表)。
我想过将其作为实例变量存储在我的应用程序委托(delegate)中,但是寻址委托(delegate)非常麻烦(每次我想访问locations 数组,而且有很多地方),所以我想为委托(delegate)引入某种别名(la NSApp),但除了 NSApp 之外,我在其他 Cocoa 应用程序中还没有经常看到这种情况。
我还想更进一步,为我的单例类引入别名,所以为什么不将类重命名为 _State
并制作 [State sharedState]
呢?它的一个实例称为 State?
最佳答案
我可能会编写一个像 LocationManager 这样的类,它提供带有 [LocationManager sharedManager] 或类似的单例。通过委托(delegate)调用会破坏封装(并且您要通过 3 个对象调用才能到达那里)。即使 NSApp 样式 #define 也无法解决此问题。
关于objective-c - 全局变量作为单例的别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/790014/