1
我有一個名爲Home
的類,它是我的應用程序的父類。現在,我想在某個地方初始化這個類,以便我可以從任何地方訪問該類中的所有內容。該應用程序的起點是RootViewController
。我應該在起點初始化應用程序嗎?如果是的話,我該怎麼做才能從應用程序的任何地方訪問它?什麼地方在Swift中初始化我的應用程序的基類
我有一個名爲Home
的類,它是我的應用程序的父類。現在,我想在某個地方初始化這個類,以便我可以從任何地方訪問該類中的所有內容。該應用程序的起點是RootViewController
。我應該在起點初始化應用程序嗎?如果是的話,我該怎麼做才能從應用程序的任何地方訪問它?什麼地方在Swift中初始化我的應用程序的基類
根據我上面的評論,在類型爲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
我可能把它當作在AppDelegate中的屬性,並在應用程序初始化中:didFinishLaunchingWithOptions :.然後訪問它,如果你命名屬性「myHome」,例如使用UIApplication.sharedApplication()。myHome。 – 2014-09-10 08:26:46
如果你能舉一個例子,那將會很棒。 – Rishi 2014-09-10 08:27:51
嗨,在我的應用程序中:didFinishLaunchingWithOptions:我添加myclass = Home()並將其聲明爲var myClass:myclass?在AppDelegate中。然後當我嘗試從RootViewController以UIApplication.sharedApplication()。myclass的身份訪問它時,我無法訪問它。 – Rishi 2014-09-10 08:37:22