2016-12-15 19 views
-2

私はiOS devを初めて使用しています。基本的に配列からString値をTableViewに取り込みようとしています。iOS Swift - TableViewの行が空白

私はアプリを実行すると、空白の行が表示され、テキスト値は表示されません。これを正しくコード化しましたか?

import UIKit 

    class SelectIssueController: UIViewController, UITableViewDelegate, UITableViewDataSource { 

     @IBOutlet var issuesTableView: UITableView! 

     var issues = [Issue]() 

     override func viewDidLoad() { 
      super.viewDidLoad() 

      self.issues = ["Test1", "Test2", "Test3"] 

     self.issuesTableView.register(UITableViewCell.self, forCellReuseIdentifier: "Cell") 

     } 

     override var preferredStatusBarStyle: UIStatusBarStyle{ 
      return UIStatusBarStyle.lightContent 
     } 

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

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

      let cell = self.issuesTableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as UITableViewCell 

      cell.textLabel?.text = issues[indexPath.row] 

      //Even if I manually set a value, the rows are still blank 
      //cell.textLabel?.text = "Hello World" 

      return cell 

     } 
    } 
+2

を、あなたはのUITableViewのデータソースであるためにあなたのSelectIssueControllerのインスタンスを設定しましたか? –

+0

あなたは参照アウトレットについて話していますか? @LucasDerraughもしそうなら、私は持っています:) – Dinuka

+2

storyboardまたはissuesTableView.datasource = selfのtableViewのdataSource –

答えて

4

テーブルビューのデータソースとデリゲートは2通りの方法で設定できます。 tableViewview controllerからCntrl+dragをクリックします。下図を参照してください

enter image description here

  • があなたのtableViewoutletを作成し、ViewDidLoadにそのデータソースとデリゲートを割り当てる
      。あなたが書くでしょうので、あなたはすでに、issuesTableViewへの出口を持っているあなたの例では

    issuesTableView.dataSource = self 
    issuesTableView.delegate = self 
    

    感謝:)

  • +0

    愚かな私!これは問題を修正しました:)私は5分でそれを受け入れるでしょう – Dinuka

    +0

    ハッピーコーディング:) @Dinuka –

    +0

    あなたの答えを少し更新する自由を取った@ Karthick、あなたが気にしないことを願っています( 'myTableView '提案2) – pbodsk

    関連する問題