天天看點

[轉Iphone]iphone開發階段總結(一)

1.objc是擴充C的面向對象,開發mac osx的程式設計語言。

2.objc中的減号與加号

①減号表示一個函數、或者方法或者消息的開始(在一個類的執行個體上被調用和實施)

②加号表示其他的函數可以直接調用這個類中的方法,而不用建立這個類的執行個體

3.NS開發包

喬布斯的NextStep公司縮寫,現今mac os使用NS這套函數庫

4.#import作用如同#include,用于聲明頭檔案。

5.nil表示空指針,相當于java的null

6.objc中使用字元串,前面要加上"@",是因為在前面加上"符号",編譯器在編譯的時候會在程式中給你留出位置,這樣才能保證這個字元串不會丢失。(@是把C的字元串轉成NSString的一個簡寫)

7.開發objc類,需要建立一個頭檔案和一個實作檔案

①頭檔案(.h):包含類的執行個體變量的名稱和類型、描述方法參數和傳回值類型的方法簽名;

②實作檔案(.m):包含這些方法的實作代碼,以及對别的類不可見的,僅與實作本身相關的局部變量的聲明和使用。

8.九宮格解法原理;(右上解法)

左出右寫入、右出左寫入、上出下寫入、下出上寫入、重排置下;

9.iphone應用程式的項目基本結構

classes:裡面存放object-c類源代碼檔案(可以建立子檔案夾來組織代碼);

other sources:存放除objective-c類之外的源代碼檔案;

resources: 包含應用程式中的非代碼檔案(因為應用程式隻能在自己的沙盒中運作,不然找不到);

Frameworks:特殊的庫,可以存放庫、架構、圖像、聲音等資源;

Products:包含項目在編譯時生成的應用程式(xxx.app);

10.Info.plist檔案裡的bundle identifier(束辨別符)

它是應用程式的唯一辨別符,要始終配置,命名格式為:頂級Internet域+.+公司名稱+.+應用名稱;

11.一個在代碼裡對nib中對象(UILabel、UITextField等)的引用被稱為一個插座變量(outlet),用關鍵字IBOutlet标明(在頭檔案裡);能夠被nib中對象調用的方法稱為動作(action),用關鍵字IBAction标明(在實作檔案裡)。

12.在實作某個動作或是對象後要對這個動作或是對象後要使用release釋放記憶體。

13.IBOutlet

輸出口 使用關鍵字IBOutlet來聲明執行個體變量,并通過這個執行個體變量來引用nib中的對象;

14.-(IBAction)doSomething:(id)sender

控制某個對象執行某項動作 通過關鍵字IBAction來聲明,通過IBAction告訴interface Builder,此方法是一個操作,且可以被某個控件觸發;通常 這個操作接受一個參數,該參數被定義為id,名稱被指定為sender.(當需要傳參數的時候就通過sender來傳遞,當不需要傳參數的時候sender可以不寫的);

[email protected] (retain , nonatomic) UILable textArea;

retain是通知編譯器向配置設定給此屬性的對象發送一個保留(retain)消息,確定屬性的執行個體變量在被使用過程中不會被從記憶體中删除;

nonatomic是 建立一個互斥通路,避免讀和寫不同步(非原子性通路);

通過這個屬性聲明通路來提高執行的效率;(原子性好比如我們去銀行存錢,存進去的時候銀行賬戶就會同時增加相應的數額,有一面失敗就都回到原來的狀态);

16.記憶體管理了解                                                                

①:程式A裡有一段記憶體被成功申請完成之後,記憶體計數器就從0變為1

(這個過程是alloc);

②:然後程式B裡也要使用這個記憶體,那麼記憶體計數器從1變為2

(這個過程是retain);

③:緊接着程式A不需要這個記憶體了,那麼程式A就把這個記憶體計數器減1

(這個過程是release);

④:當系統發現這個記憶體計數器變為0,那麼就調用記憶體回收程式把這段記憶體回收(這個過程是dealloc);

17.objc使用消息機制來調用方法,消息就是一個類或者對象可以執行的動作

消息表達式:[對象或者類名字 方法名字:參數序列];

對象或者類名字:接收器,是消息的接收者;

方法名字:參數序列:要發送的消息(要執行的動作);

繼續閱讀