iOS開發技術筆記

1、iOS app執行工做過程app

  大部分工做都是由UIApplicationMain函數完成;框架

  UIApplicationMain函數由UIKit框架提供(UIKit框架提供應用程序構建、管理用戶界面所須要的所有類);函數

  在源文件main.m中自動調用;ip

  UIKit框架只是Cocoa Touch提供的衆多框架中的一個;資源

  Cocoa Touch是全部iOS應用程序的應用環境;編譯器

  調用UIAppilcationMain掃描應用程序中的Info.plist文件,Info,plist是鍵值對結構化列表;it

2、Objective-C語言基本語法io

  OC是C語言的超集,支持與C相同的基本語法; 編譯

  eg.1. @interface MyClass(類名稱) : NSObject*(父類名稱)class

       {

        int  count;

        id   data;

        NSString* name;

        }(成員變量) 

     - (id)initWithString:(NSString*)aName;(實例的方法聲明)

     +(MyClass*)createMyClassWithString:(NSString*)aName;(類的方法聲明)

     @end

  eg.2. -(void)insertObject:(id)anObject atIndex:(NSUInteger)index

      語句說明:

     - : 方法類型標識符(+爲類,-爲實例);

     void : 返回類型;

     insertObject:, atIndex: :方法簽名關鍵詞;

     id,NSUInteger : 參數類型;

     anObject,index : 參數名;  

  eg.3. block:可移植的匿名函數,可用做回調。

     int multiplier = 7;

     int (^myBlock)(int) = ^(int num){ return num * multiplier; };

     語句說明:

       第一個int : myBlock是一個塊,會返回int值;

     第二個int : block採用一個參數,也是int類型;

     ^myBlock :'^'將變量myBlock聲明爲一個塊;

     ^(){} : 一個字面常量塊定義,分配給變量myBlock;

     num : 參數名;

     return num * multiplier; : 塊的主體部分;

  eg.4. 協議

     @inteface HelloWorldViewController : UIViewController <UITextFieldDelegate>

     @end

     遵照了<UITextFieldDelegate>協議

  eg.5 #import

     預處理指令;

     #import由#include衍生來,是#include的改良版,#import能夠保證一個頭文件不被屢次包含;

     #import和@class:

     #import包含這個類的全部信息,包括實體變量和方法;@class只告訴編譯器,後面聲明的名稱是類的名稱,並不考慮類如何定義等;

     #import用於實現類裏面,@class用於頭文件;通常@class是放在interface中;

     #import相對於@class更加耗費資源;

     #import使文件之間有依賴關係,@class不須要文件之間的依賴;

相關文章
相關標籤/搜索