2011-06-16 77 views
-2

我想在程序啓動時執行代碼片段,那麼iOS程序的啓動功能是什麼?程序的啓動功能

對於Android的程序,開機功能的onCreate如下

public class HelloWorld extends Activity { 
    public void onCreate(Bundle savedInstanceState) { 
     ... 

怎麼樣的iOS程序?

感謝

+0

[在程序啓動時運行代碼]的可能的重複(http://stackoverflow.com/questions/6355151/run-the-code-on-program-start-up) – 2011-06-16 03:19:51

+0

上一篇文章的答案並不像我想要的那麼詳細 – 2011-06-16 03:33:26

+1

@Charles然後你需要編輯你的原始答案,並提供更多的細節,你想作爲一個答案而不是張貼重複的問題。請參閱Stack Overflow常見問題解答中的'如果我沒有得到正確的答案,該怎麼辦?'部分:http://stackoverflow.com/faq – 2011-06-16 03:35:07

回答

6

在iOS中,你才能使用UIApplicationDelegate protocol到的應用程序生命週期事件(啓動,暫停,關機等)被告知:

@interface MyAppDelegate : NSObject <UIApplicationDelegate> { 
} 
@end 

@implementation MyAppDelegate 
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
    //start-up code here 

    return YES; 
} 
@end 

假設你正在使用的XCode爲您的iOS項目,將已爲您創建了默認的UIApplicationDelegate課程。你所需要做的就是找到它並根據你的喜好編輯application:didFinishLaunchingWithOptions:方法。

+0

我很忙,確保我沒有錯過任何其他選項,我完全忘記了最明顯的。 +1 – ughoavgfhw 2011-06-16 02:38:22

+0

@ughoavgfhw我一直這麼做...... :) – 2011-06-16 03:18:36

5

main函數被調用以開始程序。它位於Xcode中的模板中的main.m中。您還可以使用__attribute__((constructor))在程序開始之前標記要執行的函數,或者在類上創建+load+initialize方法。在程序開始之前將一個類加載到內存中時調用方法,但不是所有內容都會在該點加載。在程序啓動後,在其定義的類中的任何其他方法之前自動調用+initialize

+0

雖然技術上和絕對正確,但這些可能不是新手的最佳選擇。 – 2011-06-16 02:35:29