從零開始: Iphone App 開發 101
用人聽的懂的白話文來學習iphone app 的開發,記錄下我對iphone app 的了解和開發學習過程, 希望大家能互相討論摟。
網頁
開發首頁
2013年2月27日 星期三
plist 的建立與code的讀取
[iphone app開發]
在之前的例子中,三個菜單名稱是hard code 在 viewDidLod 中的,我希望讓他是可以從外部讀取,好讓以後我可以不用每增減一個就要改code一次。
建立新的plist
1. New File > Mac OS X Resource > Property List
取名叫做 recipeArray.plist
2. 在左邊Supporting Files 裡面找到剛剛新增的recipeArray.plist 檔案上面按右鍵,用code 的方式開啟。
閱讀更多 »
UITableView 在IOS 上的記憶體運作
[iphone app 開發]
小結: 由上圖運作方式可知道,UITableView 只秀螢幕所看的道的部份。他並不是有多少資料全部一次load 到記憶體來。且再次重show 時也不是再次重要一個記憶體,而是去bucket暫存桶中再抓出來。
2013年2月26日 星期二
Muti-View 多重視圖 與 Master-Detail app (MySecretRecipe)
[iphone app 開發]
之前的文章,針對的是一個"RD很忙的app" 作討論,從這篇開始,
將跨入多個view 的app 討論,我將學習國外的知名app Drink Mixer 和 iphone 中的 mail 和
Contacts 來繼續更進階的iphone app 討論。
我命名為 : MySecretRecipe。
目的:很簡單,讓使用者能自行輸入自己最拿手的食譜,原料,和作法,可以隨著iphone帶著走,無論是到異地作菜,或是去市場買菜,直接拿出來管理,編輯。
可能會使用的人: 新手廚師,一般做菜的人,負責採買的人。
1.一開始先創一個Master-Detail app 的project.
(以前的Navigation-based app 類型被這個取代了)
2. 第一個目標,我們希望在中間這個table view 的地方,先預設 show 出三到菜的名稱。
3.接著,當你點下其中一道菜,app會往下show 出那到菜的細節和作法。
就是這樣。
閱讀更多 »
2013年2月25日 星期一
UITextField 與 keyboard 的互動
[iphone app 開發]
當user 點了UI上的 TextField 時,便會自動跳出鍵盤如下。
不過,build完之後,會發現,你點擊textField 鍵盤是跳出來了沒錯,但是縮不回去了。
也就是說,
閱讀更多 »
ios中的方法宣告,訊息傳送,引數,與 本地名稱/公開名稱
[iphone app 開發]
我們來看一個例子
- (
NSString
*)
pickerView
:
(
UIPickerView
*)pickerView
titleForRow
:
(
NSInteger
)row
forComponent:(
NSInteger
)component
這個是在 pick view 的 delegate 中要求要實作的方法
其中
- (
NSString
*)
- 表示他是實例方法(instance method)
(NSString *) 表示這個方法會回傳一個NSString 的指標
閱讀更多 »
加入Text Field 到iphone app 讓使用者輸入
[iphone app 開發]
如果想加入一個輸入欄位,接收使用者利用鍵盤輸入字串,該怎麼做呢?
經過前面的文章,我想我們應該知道....
再還沒動手之前你應該就有隱隱約約的感覺...
1. 在interface Builder 上你發現, 那個TextField 它的類別是 UITextField,所以,早就知道,
到時候為了能拿到user 的data , 想必需要一個同樣型別的變數來接他。
所以, 在. h 中要宣告 UITextField xxxxx;
閱讀更多 »
IOS 下 app 的記憶體管理 : 流程圖
[iphone app 開發]
一個reference count (retain count) 的循環圖。
IOS 下 app 的記憶體管理: 大方向
[iphone app 開發]
大觀念:
IOS 下的 Objective-c 沒有garbage collector, 而是用比較像linux 的 reference counting, 它會
看這個物件有多少人reference 它,而在這個reference count 變為0 的時候才釋放它。
另外一種想法是,物件被一個或一個以上的人擁有,就能繼續存在,直到沒有人在擁有這個物件,它的retain count = 0 時,就會被釋放且清理。
簡單說,這樣就會釋放掉當初宣告內容特性所用過的記憶體。
閱讀更多 »
@property 和 @synthesize 在搞啥?
[iphone app 開發]
@property
照上篇
一行一行講:iphone app dev 中 .h 在做什麼
裡面提到的,@property 會讓編譯器知道,後面將會宣告一個內容,而接在@property 後面的(A , B) 將會填上一些屬性。
閱讀更多 »
2013年2月24日 星期日
一行一行講:iphone app dev 中 .h 在做什麼
[iphone app 開發]
xxxviewController.h
1. 是我們想要幫class加入新的"method"和"interface"還有準備要使用的"變數"的預先 "宣告" 的地方。實作會在 .m 當中,但是一些屬性設定,就得在.h 中先處理好。
2. 換個簡單的說法:標頭檔.h 是讓你宣告現在在用的這個class....
a. 是否繼承任何東西
b.會用到(包含的)
實體變數 (instance variable)
, 什麼樣的
特性(property)
與
方法(method)
。
用藍色的字一行一行講
閱讀更多 »
2013年2月22日 星期五
Blogger 常用外掛
1.
您或許對這些文章有興趣
http://www.linkwithin.com/learn
IBAction and IBOutlet (1) 取得user 在picker 中所選的兩個詞組
[iphone app 開發]
如同之前的例子,在picker view 上,現在有了完整的資料可以讓user
點選,而下方也有個寄出的按鈕,很明顯的,我打算把使用者選好的
內文加上一些固定的話語當做email來寄出。
在寄出(跟email行為)扯上關係之前,我想先確認,我能正確取得user 所選取的
兩個字詞嗎? 也就是能夠取得picker view裡正確的值嗎?
閱讀更多 »
2013年2月21日 星期四
Datasource and Delegate 的分別 (5) 一些最後細節
[iphone app 開發]
要再你的 viewController.h 中宣告你要依照 datasource 和 delegate 的 protocol 實作
且加入兩個陣列。
閱讀更多 »
Datasource and Delegate 的分別 (4) 照著 Delegate Protocol 辦事
[iphone app 開發]
做完了 datasource 的 protocol 後,換要完成 delegate 的。
一樣,從apple 的 doc 中知道,有一個一定要實作的method 是
閱讀更多 »
Datasource and Delegate 的分別 (3) 照著 datasource Protocol 辦事
[iphone app 開發] 完成datasource 的protocol.
ok, 知道了每個控制項(ex: picker view) 要實作自己的datasource and delegate 後,
那如果每個開發者都自己亂做,或是不照著apple 想要的作,那這個picker view 豈不是
相當難維護,且天下大亂嗎?
所以,apple 在document 中就寫明了,那些method 是 picker 的 datasource 必須實作的,怎麼實作,和回傳什麼值,delegate 也是,所以,換言之。
閱讀更多 »
Datasource and Delegate 的分別 (2) 一些細節
[iphone app 開發]
上篇文章最後提到....
每一個控制器(picker view 之類的人),都會有自己各別的 datasource 和 delegate....
所以 picker view 有 UIPickerDatasource ,且
1. 控制項 Picker view 不管datasource 如何取得picker view 所需要的資訊, 這邊是需要
顯示的資料欄數。 Datasource 可能用 陣列,資料庫,plist 等等儲存資料,但是對於
picker 來說不重要,它也不想管,只要 datasource 能回給 picker view 想要的資訊即可,不管
datasource 內部是如何儲存資料。
閱讀更多 »
Datasource and Delegate 的分別 (1) 主要分別
[iphone app 開發]
這兩個最快的分別,用一個例子來舉例
如果在畫面上有個 picker view,則....
[Datasource]
1.Picker view 會問 datasource 它該如何表現
2.datasource 會告訴他你有 9欄的數量需要show 在 iphone 手機的 picker view 中
閱讀更多 »
較新的文章
首頁
訂閱:
文章 (Atom)