当我运行代码时,我在渲染此关联的UIView时成功将JSON数据提供给我的应用程序。我有一个tableView充分链接到这个文件,当我运行应用程序时,我看到tableview本身。但是,3个数据源函数中没有一个被自动调用 - 'wtf'打印语句,在播放2小时之后,将会是.not.print。
我错过了什么吗?这段代码与我编写的所有其他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
}
}
答案 0 :(得分:0)
您可以在storyboard(Interface Builder)中使用数据源和委托与视图控制器连接的tableview。
答案 1 :(得分:-1)
如果您忘记使用dataSource
在故事板中设置delegate
和Ctrl+Drag
,则需要在viewDidLoad
中指定您“{1}}。以下列方式重新dataSource
和delegate
:
override func viewDidLoad() {
super.viewDidLoad()
tableView.delegate = self
tableView.dataSource = self
loadUsers()
}
我希望这对你有所帮助。
答案 2 :(得分:-1)
答案:我没有将我的表对象的委托和数据源连接到视图控制器 - OOPS!我觉得很傻,但这显然是我的问题