### Xcode 4.2之前是有這個模板的,但Xcode 4.2之后的更新版本中就沒有了此模板,綜合來說模板的作用就是為我們編程的時候節省代碼量的。
### 好了讓我們開始自定義Window-based Application 模板吧!
一.首先選中一個空的模板:

### 選擇空模板后的結果:

2.由此可見,這里并既沒有試圖控制器(UIViewControl的子類)也沒有主窗口(UIWindow),需要我們手動去創建:
(1)UIViewControl的子類:

2)UIWindow :可以理解為一個容器,里面可以裝很多UIView,通俗的來講就是UIWindow就是一個畫板,而UIView就是上面一幅幅美麗的圖畫。

3)向UIWindow中添加視圖控制器和委托類的控件:

4)到這里,前期工作就準備好了,哦.....還有一個非常重要的一點:剛才我們所托上去的
控件,它們的最初狀態可都是來自NSObject類型啊,可別忘了修改它們的類,以確保得到其相應的功能。

File's Owner 可以看做是:程序代碼與前臺UI界面溝通(相互通信)的橋梁。


5)下一步就要進行讓人頭疼的連線了,不過不用擔心,只要理解了運行流程與委托機制就會明白。
可先把連線理解為賦值。

6)由上圖可看出 File's Owner 把自身的屬性委托對象傳給了Iphone0402 Test............. 到了
這里是最容易讓人犯暈的時候,請聽我一一道來:
首先講一下委托機制:
每個iphone應用程序有且僅有一個UIApplication實例,UIApplication在后臺處理事物,管理這整個程序的生命周期,在程序執行需要時UIApplication會調用被實例化好的委托。
### (Cocoa Touch 大部分都使用了委托,為UIApplication處理一些事情)
例:有一個Boss類和Employee類。Employee類中有一個干活的方法‘doit’ ,Boss將得到Employee類,去調用這個方法。

由此可以把委托機制簡單理解為:自己的工作讓別人去干。回到此例中Boss中并沒有doit這個
干活的方法,而是得到了Meployee 類(通知其干活)調用doit()。
7)把視圖控制器添加到File's Owner的rootVeiwControl(根視圖控制器)上,也可以理解為將值賦給了rootVeiwControl,為顯示圖形做最后準備。

8)最后一步,雖然不是什么技術,但是,是最容易讓人遺忘的的一步,沒有它,界面將無法顯示。
以下兩種方法都可行:


這樣模板就建好了,等一等,我們別忙著慶祝,模板都建好了,也得看一下效果啊,那好我們就用此模板寫一個經典的輸出吧。。。。。Hello World!
# 二.讓我們回到子視圖:添加一些小組件。
1)


2)向視圖控制器.m文件中添加內容:

3)最后還剩下重要的一點,也是容易被忽視的:注釋掉系統自動生成對操作不利的方法:

(4)運行結果:

# 最后總結:
一路走過來,可能會讓人產生疑問,就是這個模板的具體作用沒體現出來,原因是,像此類簡單的操作,別的模板也能完成,自己寫模板是在浪費時間嗎?
肯定不是,因為此模板多用于多個UIVeiw,或很復雜的圖形創建,以后會用到,自己創建模板還可以加深對iphone生命周期的理解,及其工作機制。
- 前言
- (1) iphone開發,自定義Window-based Application 模板及委托運行機制
- (2) iphone 開發 表視圖UITableView結構深層剖析
- (3) iphone 開發 從應用程序看UITableView的:分組,分區,索引,工作原理及其變換法則,plist文件數據定義規則
- (4) iphone 開發 自定義UITableViewCell的子類 ,輕松添加圖片文本信息等
- (5) iphone 開發 在表視圖(UITableView) 中利用UISearchBar實現數據的搜索,視圖的多功能化
- (6) iphone 開發 真正理解委托(delegate)與數據源(data source)
- (7)---01 iphone 開發 數據傳遞 NSNotification 通知機制演示
- (7)---02 iphone 開發 數據傳遞 : 頁面切換與數據的反向傳遞以及協議(protocol)作用的體現
- (8)---01 iphone 開發 大話分析導航欄NavigationController
- (9) iphone 開發 AppSettings , 系統setting與應用程序setting間的數據控制
- (10) iphone 開發 用戶點擊,觸摸和手勢識別 解析