2017-06-20 62 views
0

我的應用程序按預期工作了幾分鐘,但我按下了「撤消」很多,看看我是如何寫了一些我已刪除的東西,然後按「重做」直到所有我的新代碼回來了,但我的tableView中的自定義單元格沒有出現在應用程序中。我看到的只是一個空的tableView。我的單元沒有出現在我的tableView

import UIKit 

class MyTableViewCell: UITableViewCell { 

    @IBOutlet weak var labelHole: UILabel! 

    @IBOutlet weak var labelShots: UILabel! 
} 

class SecondViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { 

    @IBOutlet weak var holesTableView: UITableView! 


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

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 

     let cell = holesTableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! MyTableViewCell 

     cell.labelHole?.text = "Hole \(mainCurrentHoleNumber)" 

     cell.labelShots?.text = "\(mainShotsEachHole[indexPath.row])" 

     return cell 
    } 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     holesTableView.register(MyTableViewCell.self, forCellReuseIdentifier: "cell") 

     holesTableView.delegate = self 
     holesTableView.dataSource = self 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 

} 

感謝您的任何幫助。我一直試圖弄清楚這一個小時,我似乎無法得到這個工作。

***編輯 - 爲提供一些數據的ViewController.swift添加代碼。

import UIKit 

var mainCounterValue = 0 
var mainCurrentHoleNumber = 1 
var mainShotsEachHole = [Int]() 


class ViewController: UIViewController { 

    @IBAction func unwindToViewController (segue: UIStoryboardSegue){ 

    } 

    @IBOutlet weak var mainCounter: UILabel! 

    @IBOutlet weak var mainHoleNumber: UILabel! 

    @IBAction func mainButtonNextHole(_ sender: Any) { 
     mainShotsEachHole.append(mainCounterValue) 
     mainCurrentHoleNumber += 1 
     mainHoleNumber.text = "Hole \(mainCurrentHoleNumber)" 
     mainCounterValue = 0 
     mainCounter.text = "\(mainCounterValue)" 
    } 


    @IBAction func mainButtonMinus(_ sender: Any) { 
     if (mainCounterValue > 0) { 
      mainCounterValue -= 1 
     } else { 
      mainCounterValue = 0 
     } 
     mainCounter.text = "\(mainCounterValue)" 
    } 

    @IBAction func mainButtonPlus(_ sender: Any) { 
     mainCounterValue += 1 
     mainCounter.text = "\(mainCounterValue)" 
    } 


    override func viewDidLoad() { 
     super.viewDidLoad() 
     // Do any additional setup after loading the view, typically from a nib. 
    } 

    override func didReceiveMemoryWarning() { 
     super.didReceiveMemoryWarning() 
     // Dispose of any resources that can be recreated. 
    } 


} 
+0

你是如何填充'mainShotsEachHole'和'mainCurrentHoleNumber'?我看不到任何地方你用這些數據填充這些變量。 – nayem

+0

在我的主ViewController.swift mainShotsEachHole只是加號和減號按鈕,改變了一個數字。 mainCurrentHoleNumber在每次完成一個「mainShotsEachHole」時都會+1,所以基本上是您按「完成」次數的計數器。 – Hinni

+0

提供您的ViewController.swift的完整代碼 – nayem

回答

0

需要調用holesTableView.reloadData()填寫表格

+0

現在我可以看到這些單元格,但它們完全是白色的並且是空的 – Hinni

+0

此行的斷點'cell.labelHole?.text =「Hole \(mainCurrentHoleNumber)」'並檢查cell.labelHole!= null是否爲 –

+0

http:// imgur.com/wk73W3t這是正確的嗎?我從來沒有使用過斷點。 – Hinni

0

holesTableView.register(UINib(nibName: 「nibName」,捆綁:無),forCellReuseIdentifier: 「細胞」)

試試這個上面代碼,希望它對你有所幫助。

相關問題