2011-05-16 165 views
0

Objective-c對我來說很新,所以我可能會問一個荒謬而簡單的問題,但一直在查看網絡和某些書籍,我有點難倒在一定程度上。很可能是由於我對obj-c的嚴重缺乏知識。所以...任何幫助,這個將非常方便...在主應用程序視圖加載之前獲取一些設備信息

我想要做的就是獲取應用程序啓動時運行的應用程序的設備(使用[UIDevice currentDevice])的一些簡單信息,但主應用程序視圖加載之前。簡單的東西,但誠實地說,我還沒有想到如何做到這一點!然後,我希望在整個應用程序及其視圖中提供任何必須可用的信息(在一個變量中?不太確定這是否是obj-c的正確術語)。再一次,我沒有太多的想法。

我來形成一個web開發背景,所以這是非常新的我很大程度上。所以...是的,任何提示/指針,幫助等將是可笑的有用!

在此先感謝,對不起我的n00b問題!

回答

1

這個地方可能會出現在您的App Delegates -application:didFinishLaunchingWithOptions:方法中。當您的應用完成啓動並且(通常)負責將主視圖添加到應用程序窗口時,此方法會被調用。您可以將這些信息放入應用程序委託的實例變量中。您可以通過致電[[UIApplication sharedApplication] delegate]從程序中的任何位置獲取對應用程序代理的引用。一個示例實現可能看起來像這樣:

// In MyAppDelegate.m 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 

    //Get your information, potentially put it into an 
    //instance variable of the App Delegate 

    //Add the main view to the view hierarchy 
    [self.window addSubview:viewController.view]; 
    [self.window makeKeyAndVisible]; 

    return YES; 
} 
+0

非常好,這幾乎是我想要的。謝謝你的偉大答案! – rich 2011-05-16 21:19:05

0

您可能可以使用viewController方法「viewWillAppear」。它會希望與「viewDidUnload」方法位於同一區域,這將在任何* ViewController.m文件連接到主視圖中。

可能需要在調用UIApplicationMain之前在main()例程中執行此操作。

相關問題