2014-09-10 55 views
1

我有一個名爲Home的類,它是我的應用程序的父類。現在,我想在某個地方初始化這個類,以便我可以從任何地方訪問該類中的所有內容。該應用程序的起點是RootViewController。我應該在起點初始化應用程序嗎?如果是的話,我該怎麼做才能從應用程序的任何地方訪問它?什麼地方在Swift中初始化我的應用程序的基類

+0

我可能把它當作在AppDelegate中的屬性,並在應用程序初始化中:didFinishLaunchingWithOptions :.然後訪問它,如果你命名屬性「myHome」,例如使用UIApplication.sharedApplication()。myHome。 – 2014-09-10 08:26:46

+0

如果你能舉一個例子,那將會很棒。 – Rishi 2014-09-10 08:27:51

+0

嗨,在我的應用程序中:didFinishLaunchingWithOptions:我添加myclass = Home()並將其聲明爲var myClass:myclass?在AppDelegate中。然後當我嘗試從RootViewController以UIApplication.sharedApplication()。myclass的身份訪問它時,我無法訪問它。 – Rishi 2014-09-10 08:37:22

回答

6

根據我上面的評論,在類型爲Home的AppDelegate類中設置一個屬性,並在應用程序中初始化它:didFinishLaunchingWithOptions。現在你可以通過sharedApplication.delegate訪問這個家庭實例。

在AppDelegate.swift:

import UIKit 

@UIApplicationMain 
class AppDelegate: UIResponder, UIApplicationDelegate { 

    var window: UIWindow? 

    var myHome: Home? 


    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool { 
     // Override point for customization after application launch. 

     self.myHome = Home() 

     return true 
    } 

然後訪問它在其它的類:

let delegate = UIApplication.sharedApplication().delegate as AppDelegate 
var home = delegate.myHome 
相關問題