經過更改plist文件,跳轉同一個控制器類型的不一樣對象

#情景:
當一個app有不少的界面跳轉,就須要建立不少的控制器,然而若是跳轉到的控制器在樣式上是差很少的,好比不少個須要跳轉的界面都是UITableViewController類型的,若是每次跳轉都建立一個不一樣的類,那麼每個類都須要些實現數據源方法,代理方法,以及建立模型,這樣工做量是至關大的.app

當有不少重複的東西的時候,抽取重複內容,將不一樣內容做爲參數(數據)傳遞就頗有必要了.代理

若是多個界面都是UITableViewController實現的,咱們能夠考慮經過提供不一樣的plist文件實現界面的搭建.io

tableView界面可能的樣式table

>沒分組方法

>分組im

1.沒有headerView/footerView數據

2.有headerView或者footerView樣式

分組狀況下有headerView,footerView能夠囊括全部的樣式,由於能夠考慮建立多個plist文件,plist結構以下tab

  • NSArray
    • NSDictionary(外層)
      • header(NSString)
      • footer(NSString)
      • cells(NSArray)
        • NSDictionary(內層)
          • textLabel
          • detailTextLabel
          • imageView
          • ...........

外層字典決定每組的樣式文件

內層字典決定行的樣式

由於tableView的數據老是經過plist文件加載,因而能夠經過給定不一樣plist文件,指定一個tableViewController樣式,就能夠輕鬆的實現不少個類似界面的跳轉.

例子:網易彩票

代碼:

相關文章
相關標籤/搜索