Tuesday, September 18, 2012

Tuesday, September 11, 2012

协议与委托(Protocol and Delegate)实例解析

协议与委托(Protocol and Delegate)实例解析

"2 委托:

委托是objC中使用非常频繁的一种设计模式,它的实现与协议的使用是分不开的,让我们看一个综合示例:

小公司老板日常的工作是管理公司、教导新员工、发工资与接电话。

其中管理公司、教导新员工是老板要亲为的。

而发工资与接电话老板希望招聘一个秘书来帮忙,于是对秘书的要求就是要略懂出纳发工资,要能帮助领导接电话。 而这两项要求便是协议,对类功能的限定。"


.

Monday, September 10, 2012

Android與 iPhone

Android與 iPhone:南轅北轍的開發理念


說實在的,我一直認為Apple和Google對於手機開發的心態十分不同,Apple是非常努力的在手機軟體平台上整合,在這上面賺到錢,並且讓參與的工程師或廠商能賺得到錢。Google呢?開放過了頭,Android是開放原始碼沒錯,但也不見到有受益很多在消費者身上,反而是讓之前沒作手機的,或有代工手機硬體的廠商,甚至是有錢電信公司,免費得到原來授權價格不菲的手機作業系統,然後也投入手機市場大戰一翻。當然,Google的目的只是要延申他在網際網路的應用軟體優勢到行動上網的領域中,至於能不能從Android上賺到錢,就不是那麼在乎了,只要他的優勢能存在或延申,股價當然還是會維持本夢比的水準。Android的SDK我認為更新得太快、太亂、太有Google的個人色彩,每次大改版幾乎都是配合Google的新服務或新功能所量身打造,另一方面,Android手機如雨後春筍般的不斷有新機上市,一堆電信公司、電腦公司…都努力的出新版的Android手機,便宜的、高規格的、有改的、沒改過的、山寨的…那又如何?不同的手機硬體、螢幕規格、OS版本,代表開發廠商或設計師,又得為不同的硬體修改軟體介面或功能,尤其是必定會用到顯示規格和聲光效果的遊戲軟體。

.

提供原始碼的iPhone程式收集

提供原始碼的iPhone程式收集


.

Delegate/Data Source和Controller

Delegate/Data Source和Controller(一)
Delegate/Data Source和Controller(二)

最後要談到最前面的問題:那Delegate和Controller又有什麼關係?有何不同,我在stackoverflow找到覺得比較好的說明
A delegate is a protocol (interface) that defines methods that an object implements in order to receive specific messages from other objects. Delegates objects are most often used to receive asynchronous callbacks such as user input, I/O.
委記是一個協定(介面),定義了許多物件可以實作的方法,為了接收來自其他物件的特定訊息。委託物件經常使用於接收非同步的回應呼叫,例如使用者輸入或I/O。

A controller is an object that usually contains UI elements (views, controls, etc.) and data, and both receives and send messages to the various objects within it. In many cases, a controller is a delegate and can implement several delegate protocols to receive events from multiple objects.
控制器是一個物件,通常其中包含UI元素(視圖、控制器…等)和資料,以及接收和傳送兩種訊息到其中的眾多物件。在大部份時候,控制器是一個委託且可以實作各種委託協定,以便可以接收來自多個物件的事件。

了解嗎?還是有點模糊?我的理解是Controller是在於MVC設計模式中的C這個角色,扮演Model和View的居中協調者的工作。當然ViewController的工作就是針對視圖的控制器工作,管理視圖,例如在需要的時候載入它到記憶體中,不需要時在記憶體中釋放它。要記得在iPhone OS中,通常一個視圖只會有一個視圖控制器。


而Delegate/data source是另一種實作事件控制的模式,也是位於MVC中C這個位置的機制,只是因為它是利用協定而非一般的子類別繼承實體而來,變成另一類處理控制的機制。但是,這兩種並不會是衝突或只能擇一使用,在很多情況下,反而是兩種都要搭配使用才能完成所需的工作。




.

Introduction to Coding Guidelines for Cocoa


“Code Naming Basics”
“Naming Methods”
“Naming Functions”
“Naming Properties and Data Types”
“Acceptable Abbreviations and Acronyms”


.

Monday, September 3, 2012

Fine Apps

Clear
clear to do list

social magzine

work progress arrangment

simple notes

生活照片圖記串流

Moleskine Journal
evernote product

.

songza

Remember The Milk
note book


.