2016-08-03 214 views
-1

當我運行代碼時,我成功地將JSON數據饋送到我的應用程序中,以呈現此關聯的UIView。我有一個tableView充分鏈接到這個文件,當我運行應用程序時,我看到了tableview本身。但是3個數據源函數中沒有一個會自動調用 - 在打了2個小時後,'wtf'打印語句,will.not.print。爲什麼我的UITableViewDataSource函數不被調用?

我錯過了什麼?此代碼是相同到我寫的所有其他tableviewdatasource代碼,這根本不會工作或呈現我提供的JSON數據

有沒有人有想法或建議?謝謝!

import UIKit 

class ChooseUserViewController: UIViewController, UITableViewDelegate, UITableViewDataSource { 


@IBOutlet weak var tableView: UITableView! 


var users: [BackendlessUser] = [] 

override func viewDidLoad() { 
    super.viewDidLoad() 

    loadUsers() 
} 

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

//MARK: UITableViewDataSource 

func numberOfSectionsInTableView(tableView: UITableView) -> Int { 
    return 1 
} 

func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    print("wtf") 
    return users.count 

} 

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 

    let cell = tableView.dequeueReusableCellWithIdentifier("chooseCell", forIndexPath: indexPath) 

    let user = users[indexPath.row] 
    print("wtf!") 

    cell.textLabel?.text = user.email 

    return cell 


} 
} 
+3

你是否已經將你的TableView內的StoryView作爲Delegate&Datasource賦給ViewController? – derdida

+0

您是否設置了數據源? – GoodSp33d

+0

@derdida這是另一回事。 :P – ZeMoon

回答

-1

萬一你就被遺忘了使用Ctrl+Drag你需要在你viewDidLoad指定你在下列方式dataSourcedelegate想設置你的故事板dataSourcedelegate

override func viewDidLoad() { 
    super.viewDidLoad() 

    tableView.delegate = self 
    tableView.dataSource = self 

    loadUsers() 
} 

我希望這可以幫助你。

-1

答案:我沒有將委託和我的表格對象的數據源連接到視圖控制器 - OOPS!我覺得很傻,但這顯然是我的問題

0

你有與視圖控制器在故事板(界面生成器)連接的數據源和委託tableview。

相關問題