我正在尝试使用PHP脚本填充来自外部数据库的数据,我可以看到数据已在viewdidload()
中接收。但是我看不到表视图中的数据。
我尝试使用断点,但没有成功,因为我的程序不能到达
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { ....}
你能建议我做得不对的地方吗?
import UIKit
class UsersViewController: UIViewController, UITableViewDataSource, UITableViewDelegate {
var data: NSArray = []
@IBOutlet weak var listTableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
data = dataOfJson(url: "http://kpstudio18.com/app/select.php")
print("data are as \(data)")
}
func dataOfJson(url: String) -> NSArray {
var data = NSData(contentsOf: NSURL(string: url)! as URL)
var error: NSError?
var jsonArray: NSArray = try! JSONSerialization.jsonObject(with: data! as Data, options: .mutableContainers) as! NSArray
return jsonArray
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if data.count != 0 {
return data.count
} else {
return 1
}
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell: additionInfoCell = self.listTableView.dequeueReusableCell(withIdentifier: "customCell") as! additionInfoCell
let maindata = (data[indexPath.row] as! NSDictionary)
cell.name.text = maindata["name"] as? String
cell.info.text = maindata["id"] as? String
print("Cell Name is \(cell.name.text)")
print("Cell Info (id) is \(cell.info.text)")
return cell
}
}
发布于 2018-04-23 12:09:53
yourtableview_name.registerNib(UINib(nibName: "customCell", bundle: nil), forCellReuseIdentifier: "customCell")
在viewdidload
.if中尝试一下,它有效,请让我知道。
发布于 2018-04-23 16:32:38
您只是忘记了重新装入您的表。在您的viewDidLoad()方法中,添加以下行yourTableView.reloadData()
,希望它能正常工作。
另外,检查一下你是否按照RB1509上面说的那样注册了"CustomCell“
https://stackoverflow.com/questions/49972809
复制相似问题