Ios swift 更改结果数组的类型

Ios swift change type of results array

如何更改 table 查看结果数组的类型。

var results: [Group] = []

现在我将 viewcontroller 用于两个目的,相同的设计和相同的 table,但另一个结果数组。

现在我需要在这个 didSet 中更改它:

var article:Article? {
    didSet {
        var results: [Article] = [] // something like this
        getArticleOrderData()
    }
}

设置文章后,将结果数组的类型更改为 [Article]

这可能吗?

或者我应该在文章的情节提要中制作一个又一个 viewcontroller 吗?

声明一个协议,其中两种类型都符合并将该协议用作 table 视图的集合类型。

非常简单的例子:

protocol Resultable {
  var name : String {get set}
}

class Article : Resultable {
  var name = "article"
}

class Group : Resultable {
  var name = "group"
}

class MYTableViewController : UITableViewController {

  var results = [Resultable]()

  override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    return results.count
  }

  override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath)
    let result = results[indexPath.row]
    cell.textLabel!.text = result.name
    return cell
  }
}