在开使用 Xcode 跟 UIKit Framework ,写 iPhone 上有图形界面的程式之前,几个问题困扰着我。虽然可以用 Xcode 的 template 很快就建立了一支程式,上传到 iPhone 上测试,但是对于程式内部的运作,其实是ㄧ无所悉。
(1) iPhone 上执行的程式,程式的 Livecycle 是甚么?
(2) 什么是 Delegate?
(3) 什么是 MVC - Model View Controller?
(3) UI Builder 编辑所产生 .nib 档,又是如何跟 Xcode 中写的 Controller Class 及 Delegate Class 连结在一起。
(4) 一支 iPhone 程式,可以有 2 个以上的 Window 吗?一个给 UI Builder 用,另外一个给 OpenGL ES 或是 Cocos2d 用。
(5) 一支 iPhone 程式,可以有 3 个以上的 View 吗?一个给 Facebook,一个给 Twitter,还一个给 Safari .... etc。
上面提到的这些功能,其实都在 Ap Store 里卖的程式或游戏上看到。可是书上或是 SDK 的 document ,并没有提到这些,该如何实作。
看起来像 Apple 是假设开发者,都是有经验的,在看到 Class 的名称是 Controller 或是 Delegate 结尾,写程式的人就应该知道,下一步该怎么做。
可是为何我看 Xcode 用 template 产生出来的程式码,却有看没有懂?
(心想,要是侯捷也来学如何开发 iPhone 程式,写一本 "Inside iPhone 4 SDK",不知有多好 )
未完,待续 .....