2014-01-31 32 views
0

我發現自己處於的狀況如下。將視圖控制器彼此傳遞或確保只初始化它們

在AppDelegate中,我需要能夠訪問我在後面的視圖控制器中創建的SKView,以便在進入背景時可以暫停SKView。我知道能夠做到這一點的唯一方法是在AppDelegate中創建SKView,然後將其設置在稍後用作屬性的視圖控制器中。缺點是,這個觀點對我而言並不存在,直到它首先被創建。因此,我正在做以下事情。

@property (nonatomic, strong) SKView *skView; 
. 
. 
. 
self.skView = [[SKView alloc] init]; 
SceneViewController *svc = [[SceneViewController alloc] initWithNibName:nil bundle:nil]; 
[svc setSkview:self.skView]; 

在SceneViewController我

@property (nonatomic, strong) IBOutlet SKView *skview; 

的問題我已經是,我要真有很強的集都上這是一個IBOutlet屬性?而且還有更好的方式來做我正在做的事情。

我也將SceneViewController以相同的方式傳遞給另一個視圖控制器,以便它也可以獲取對它的引用,以允許它在適當的時間呈現視圖。我認爲上述問題的答案也會對此有所幫助。

回答

1

爲什麼不擁有您的視圖控制器監聽UIApplicationWillResignActiveNotificationSKView和暫停?

0

讓單身人士只能保證上課一次。

+(SKView *)singleton 
{ 
    static SKView *shared = nil; 

    if(shared == nil) 
    { 
     shared = [[SKView alloc] init]; 
    } 

    return shared; 
} 
相關問題