2015-11-04 26 views
0

如何更改tableview结果数组的类型。Ios swift change类型的结果数组

var results: [Group] = [] 

现在我使用该viewcontroller为2目的,相同的设计和相同的表,但另一个结果数组。

现在我需要改变它在这个didSet:

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

当文章被设置,改变的结果阵列的类型[Article]

这可能吗?

或者我应该让故事板中的另一个和另一个viewcontroller的文章?

+0

我不知道这是否是可能的,但你可以做一些事情anyobject,当你使用对象,您可以设置“作为集团!”或“文章!” ... – Lynxi

+1

声明一个协议,其中两种类型都符合并使用该协议作为表视图的集合类型 – vadian

+0

这样的任何示例? –

回答

1

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

很简单的例子:

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 
    } 
} 
相关问题