[英]Reference a property in another unrelated View Controller
我對Cocoa應用程序架構的最佳做法有疑問。 如果您查看我應用程序情節提要的屏幕截圖,則左下角有一個視圖控制器(其中有許多控件),而右側的拆分視圖控制器中有兩個帶有表視圖的視圖控制器。 我需要引用控件視圖控制器(左側)中每個表視圖控制器(右側)中的數組控制器。
我如何通過視圖層次結構(通過不同的容器視圖等)一直到達那些數組控制器?
我當然可以只在我的應用程序委托(這是一個單例)中引用它們,然后從那里獲取它們,但是我們都知道這不是一個好的OOP體系結構。
您可以為此創建自己的Singleton Class
。 像AppNameDataManager
一樣,然后創建屬性並從必須設置的視圖控制器中進行設置,並在必須獲取的視圖控制器中進行設置。
#define SINGLETON_FOR_CLASS(classname)\
+ (id) sharedManager {
static dispatch_once_t pred = 0;\
static id _sharedObject = nil;
dispatch_once(&pred, ^{
_sharedObject = [[self alloc] init];
});\
return _sharedObject;
}
只需導入該類並通過調用[ClassName sharedManager]
獲取實例
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.