2015-11-04 63 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 
    } 
} 
相關問題