IOS學習筆記,ios學習資料

來源:互聯網
上載者:User

IOS學習筆記,ios學習資料

1.pch檔案中的代碼是全域的,不管是#import標頭檔還是#define宏,都可以在項目中的所有檔案中使用。(凡是涉及到OC文法的內容都要放入到#ifdef __OBJC__  #endif中)。
2.pch中最好使用下面的宏對NSLog函數進行替換,在發布的時候直接將後部的NSLog進行注釋則代碼中不會列印任何值。

#define MyLog(...) NSLog(__VA_ARGS__)

3.IOS在未打包狀態的時候會預設有一個DEBUG宏,在打包後則會自動刪除,可以利用判斷來最佳化上方代碼。

#ifdef DEBUG#define MyLog(...) NSLog(__VA_ARGS__)#else#define MyLog(...)#endif

4.函數的外部聲明:extern type name();

5.UIApplication是單例模式,只能通過sharedApplication方法獲得,如果alloc init會報錯。

6.獲得UIApplication對象後可以修改各種屬性

7.AppDelegate類即UIApplication的delegate對象,並且已經建立好串連了。(在實現檔案中有定義好的方法,有英文注釋)。

8.UIWindow是一種特殊的UIView,通常一個App只有一個UIWindow。

9.IOS程式啟動完畢後,建立的第一個視圖控制項就是UIWindow,接著建立控制器的View,最後將控制器的View添加到UIWindow上面。

10.給UIWindow添加ViewController的時候選擇rootViewController屬性進行賦值,如果使用addSubview可能會出現野指標。

11.旋轉事件發生的時候會首先有UIApplication知道,然後通知UIWindow,再由UIWindow通知自己的rootViewController。如果使用addSubview則沒有效果。

12.[UIScreen mainScreen]可以獲得螢幕的資訊,給UIWindow的frame賦值mainScreen的bounds屬性則可以使UIWindow布滿螢幕並且x,y為0,0;

13.[self.window makeKeyAndVisible]是使self.window變為主視窗(KeyWindow)並且顯示。makeKeyWindow方法則只是變為主視窗。

14.非KeyWindow的時候視窗的子控制項TextField不能輸入值(IOS7以前)

14.程式啟動的完整過程
  1.main函數


  2.UIApplicationMain
  * 建立UIApplication對象
  * 建立UIApplication的delegate對象

  3.delegate對象開始處理(監聽)系統事件(沒有storyboard)
  * 程式啟動完畢的時候, 就會調用代理的application:didFinishLaunchingWithOptions:方法
  * 在application:didFinishLaunchingWithOptions:中建立UIWindow
  * 建立和設定UIWindow的rootViewController
  * 顯示視窗

  3.根據Info.plist獲得最主要storyboard的檔案名稱,載入最主要的storyboard(有storyboard)
  * 建立UIWindow
  * 建立和設定UIWindow的rootViewController
  * 顯示視窗

 

 

由於本階段學習目的為初步熟悉IOS,所有知識點不做深入,僅以灰色標註在意的知識點,當有空的時候回頭再議。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.