2015-03-30 53 views
0

我有一個包含按鈕和tableview的應用程序,我希望一旦我點擊一個按鈕,節標題會改變,它的內容會改變,我不想使用許多節或許多行。 只需一個部分和一行即可在每次點擊時更改其內容。問題是它不顯示,但「測試」作爲章節標題,沒有別的。 這是我到目前爲止已經試過:Swift UITableView更新部分標題和行內容

var key = Int() 
    func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String { 
    // do not display empty `Section`s 

    if(key == 1) { 
     return "Monthly Usage" 
    } 
    if(key == 2) { 
     return "Monthly Remaining" 
    } 
    if(key == 3) { 
     return "Current Package" 
    } 
    return "Test" 
} 

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell 
    let row = indexPath.row 
    // Configure the cell... 

    switch(key) { 
    case 1: 
     cell.textLabel?.text = Data["Monthly_Usage"] 
    case 2: 
     cell.textLabel?.text = Data["Monthly_Remaining"] 
    case 3: 
     cell.textLabel?.text = Data["Monthly_Max"] 
    default: 
     cell.textLabel?.text = "" 
    } 
    return cell 
} 


@IBAction func Monthy_Usage() { 
    if tableView.hidden == true { 
     tableView.hidden = false 
     key = 1 
    } 
    else { 
     key = 1 
    } 
    println(key) 
} 
@IBAction func Monthy_Remaining() { 
    if tableView.hidden == true { 
     tableView.hidden = false 
     key = 2 

    } 
    else { 
     key = 2 
    } 
    println(key) 
} 
@IBAction func Current_Package() { 
    if tableView.hidden == true { 
     tableView.hidden = false 
     key = 3 
    } 
    else { 
     key = 3 
    } 
    println(key) 
} 

UPDATE:

就解決了這個問題,我不得不在每一個IBAction爲FUNC做tableView.reloadData()

+0

在'cellForRowAtIndexPath'中設置默認文本。它是否總是在您的交換機中默認使用,有趣的情況。 – 2015-03-30 23:32:52

+0

@iRaviiVooda是的。 – 2015-03-30 23:45:00

回答

0

我忘了我需要每次點擊時重新加載數據,所以我就是這樣解決它的:

@IBAction func Monthy_Usage() { 
    if tableView.hidden == true { 
     tableView.hidden = false 
     key = 1 
    } 
    else { 
     key = 1 
    } 
    tableView.reloadData() 
    println(key) 
} 
@IBAction func Monthy_Remaining() { 
    if tableView.hidden == true { 
     tableView.hidden = false 
     key = 2 

    } 
    else { 
     key = 2 
    } 
    println(key) 
    tableView.reloadData() 
} 
@IBAction func Current_Package() { 
    if tableView.hidden == true { 
     tableView.hidden = false 
     key = 3 
    } 
    else { 
     key = 3 
    } 
    println(key) 
    tableView.reloadData() 
}