2011年6月27日 星期一

iOS App 開發者的自我修練,幾個問題。

Facebook Page : Developer's Note
Objectice-C Language.

obj.name = @"Michael"; 這行程式碼會等同於那個 method 呼叫?是不是一定要定義 property ?

多個 autorelease pool 產生時,把任一個物件加入其中一個 pool,再把別的 pool drain 時會有什麼情況發生?

什麼是 Retain Cycle ? 遇到這個情形要如何應對?

Handler<NetMessage> * delegate; 請解釋 delegate 這個變數所指向的實體的 Class 要有什麼樣的限制?

自定的 Class 要支援 copy 這個 method 需要實作那個 method ? 以 Engine 這個 Class 為例,寫出其支援 copy method 的 實作內容。

請解釋 dispatch_queue_t 是什麼意思?會在什麼情況下被使用?

iOS App

解釋從 main() 到 application:didFinishLaunchingWithOptions: 的流程。

請解釋當使用者按下某個 UIView 時,Touch Event 會如何被處理 ? 請考慮被按下的 UIView 有實作 touchesBegan:withEvent: 和沒有實作 touchesBegan:withEvent: 兩種情況。

解釋  viewDidLoad,  viewWillAppear:,  viewDidUnload 各是在什麼情況下會被自動呼叫?

利用 UIScrollView 去呈現大量畫面的時候,應該要注意什麼事情?假設有 100 圖要被加入 UIScrollView 而一次只呈現一張圖,讓使用者用 scroll 方式換圖。

利用 UITableView 呈現資料時,其中要 UITableViewCell 的部分要加上自己的 UIView (UIButton, UILabel, etc...) ,應該要寫在那一個 method 裡的那一段?

請解釋 Managed Object, 和 Database 的關係。

假設在 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 裡要利用遠端的 url 更新 cell.imageView.image 有如下的程式碼


[UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[imagePrefix stringByAppendingPathComponent:[icons objectAtIndex:indexPath.row]]]]];

如此一來會發生什麼問題?請用 GCD 的寫法改善。