Xcode4 2開發入門之一些變化

2021-06-20 10:57:20 字數 1728 閱讀 7591

1. 工程專案模板型別的更改

2.  新增一編譯級特性——automatic reference counting

否則會對release,retaincount,retain等記憶體相關操作在編譯時出現紅色警告:

3. 新增特性——storyboard

storyboard是xcode4.2新增的又乙個特性,它將原有工程中的所有xib檔案整合在一起,用拖曳的方式建立viewcontroller相關之間的跳轉關係,使得整個程式的ui跳轉邏輯清楚明了。簡單地說,storyboard引入了2個概念:

scene:乙個場景,由乙個viewcontroller和相關的xib表示。

segue:(英文原意為繼續、持續)。在這是用於連線scenes,其有多種型別,包括:push,modal,popover and more。

當然segue也負責傳遞資料和返回資料。

整個程式的介面轉換就是在各個scene之間切換。介面跳轉關係,比如按哪個鍵跳到哪個介面,是由segue來描述。segue也可以帶資料,以便做資料傳遞。(也因此被說是抄襲adobe的flash)。

要點:必須有乙個viewcontroller是作為storyboard的初始介面的,及需要勾選上initial scene項。如下圖:

storyboard相對於以前的nib/xib的優勢:

通常,nib是和viewcontroller相關聯的,很多時候viewcontroller都有其對應的nib檔案。該檔案的作用就是描述使用者介面以及初始化物件和介面元素物件。雖然這些都可以在**中來實現,但為了高效編寫程式**,xcode給我們提供了ib來繪製介面。而storyboard的引入,則是進一步加強了這方面的功能,之前的nib檔案沒有辦法描述viewcontroller之間的跳轉過渡,只能通過**中呼叫類似-presentmodalviewcontroller:animated:或-pushviewcontroller:animated:這個兩個方法來實現。現在,在storyboard中引入了segue這一概念,由segue定義從乙個viewcontroller到另乙個viewcontroller的過渡。只需要像之前連線介面物件和action method那樣將viewcontroller之間用合適的segue連線起來即可,無需任何手寫**。即使是自定義segue,也只需編寫segue的實現,而無需編寫呼叫的**,一切都由storyboard幫我們呼叫。 

如何從nib/xib遷移到storyboard,有些什麼改變?

實踐中的問題:

xcode專案如果包含storyboard建立的,就無法在ios 4.x的模擬器和ios 4.x的真機上除錯,執行,不報錯,但是得到的結果只有黑屏。這應該是storyboard只有ios5支援的原因吧。

#xcode4.2

XCode4 2學習日誌 2012 11 25

買了中文的 ios5開發基礎教程 beginning.ios.5.development.exploring.the.ios.sdk 開始後面的繼續學習 順道鄙視下自己很久沒有摸書了 1 第五章5.3.2在旋轉時移動按鈕 moving the buttons on rotation 注意重寫部分 的...

XCode 4 2真機除錯

具體步驟 按照上面的步驟匯入3.x的工程成功執行,但是如果用xcode 4.2建立新工程,則會報錯,需要做如下修改 1 將 objective c automatic reference counting 的預設值由 yes 改為 no 2 輸入下面的 注意沒有特殊字元 export codesig...

xcode4 2中如何取消ARC

sdk5的xcode自帶了arc,雖然arc是比gc強大很多,但由於開發的習慣性,還有框架不適應,在arc還沒足夠穩定和安全以前,暫時還是使用手動alloc和release等。至於如果取消arc,分3步 2 修改main.h c autoreleasepool 修改為 c nsautorelease...