簡體   English   中英

引用另一個不相關的View Controller中的屬性

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM