天天看點

swift語言IOS8開發戰記11 Set NavigationController

       上一話我們把ViewController類中的資訊用Model來展示,那麼新一話我們來嘗試頁面間傳值。首先來回顧一下我們現在工程裡類的結構,如圖:

之前的做法是首頁面點選每一行在新打開的頁面中顯示一個小黃人的表情和一個自定義的tableView.現在我們修改一下跳轉頁面的控制器,也就是DetailViewController這個類,上一話中我們建立了一個名為RestModel,現在我們要在跳轉的頁面中使用這個Model中的資訊,是以在DetailViewController這個類中建立一個Rest的執行個體,且是全局的

第一步是修改跳轉後的頁面的圖檔資訊,在之前顯示圖檔的地方進行修改,改成如下格式:

注意我們之前傳回的是一個String類型的圖檔名稱,現在我們要傳回的是一個Data Model的執行個體,在ViewController中調用顯示的時候也需要修改,在我們使用NavigationController進行push操作的地方,修改之前的代碼如下:

在DetailViewController中如果要修改圖檔下方的tableView,方法跟之前的差不多,我們先定義一個新類用來顯示,命名為DetailTableViewCell,代碼如下:

可以看到我們使用了更簡便的寫法,每一行顯示的都是一個鍵值對,而具體顯示什麼與行數有關,DetailViewController的代碼如下:

Rest是Data Model,我們上一話介紹過了,在這再貼一下Rest的代碼:

可以看到我們得代碼一一對應起來了,現在來展示一下效果圖,這裡不再展示首頁面的代碼,以一話主要是用來展示使用導航控制器來控制頁面跳轉,首頁面效果如圖:

swift語言IOS8開發戰記11 Set NavigationController

當我們點選其中某一行的時候,比如點選第一行,跳轉頁面如下:

swift語言IOS8開發戰記11 Set NavigationController

為了讓我們的導航欄更加醒目,我們把它的顔色換成橘紅色,這是全局的設定,是以要回到AppDelegate類中,在我們調用Navigation類的application方法中進行設定,代碼如下:

運作效果如下圖:

swift語言IOS8開發戰記11 Set NavigationController
swift語言IOS8開發戰記11 Set NavigationController

如果我們覺得跳轉後的界面的傳回按鈕不夠簡潔的話,可以在ViewController類中的viewDidLoad方法中設定清除字元串,代碼如下:

效果如圖:

swift語言IOS8開發戰記11 Set NavigationController