自定义 UITableViewCell 的第一个单元格为空
First cell of custom UITableViewCell is blank
我正在查询解析以获取一些信息并在 UITableViewCell 中显示信息,table 中只有一个条目,这是一个包含虚构信息的测试条目,但 table 显示的是第一个单元格空白,然后是包含 table 中信息的第二个单元格。我已尝试 google 并添加更多行测试信息,但无论哪种方式 table 都在开头显示一个单元格,但没有任何信息
这是我的代码:
var query = PFQuery(className: "marathons")
query.orderByAscending("end")
query.findObjectsInBackgroundWithBlock { (marathons, error:NSError?) -> Void in
if(error == nil ){
//success
for marathon in marathons! {
self.Name.append(marathon["Name"] as! String)
self.entryNumber.append(marathon["Number"] as! Int)
self.totalEntries.append(marathon["entries"] as! Int)
self.runnerDistance.append(marathon["distance"] as! Int)
}
self.TableView.reloadData()
}else {
print(error)
}
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
//MARK: TableView
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return Name.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let singleCell: TableViewCell = tableView.dequeueReusableCellWithIdentifier("Cell") as! TableViewCell
singleCell.Name.text = names[indexPath.row]
singleCell.entryNumber.text = "\(entryNumbers[indexPath.row])"
singleCell.totalEntries.text = "\(entires[indexPath.row])"
singleCell.runnerDistance.text = "\(distance[indexPath.row])"
return singleCell
}
名称、条目数、总条目数和跑步者距离定义为:
@IBOutlet var Name: UILabel!
@IBOutlet var entryNumber: UILabel!
@IBOutlet var totalEntries: UILabel!
@IBOutlet var runnerDistance: UILabel!
有什么建议吗?我正在使用 swift,解析为我的后端,并且 XCODE 7
您的代码中定义的模型对象在哪里?您正在附加到名为 Name
、entryNumber
、totalEntries
和 runnerDistance
的对象,但您正在尝试从名为 entryNumbers
entries
和 distance
.
编辑:
我明白这是怎么回事了。根据您的评论,您正在像这样初始化数组:
var names = [String()]
这实际上创建了一个数组,其中包含一个空字符串 [""]
。当您调用 append
时,您正在向数组添加另一个元素,这使您最终得到 ["","John"]
。如果你想要一个空数组,你应该像这样创建它:
var names = [String]()
我正在查询解析以获取一些信息并在 UITableViewCell 中显示信息,table 中只有一个条目,这是一个包含虚构信息的测试条目,但 table 显示的是第一个单元格空白,然后是包含 table 中信息的第二个单元格。我已尝试 google 并添加更多行测试信息,但无论哪种方式 table 都在开头显示一个单元格,但没有任何信息 这是我的代码:
var query = PFQuery(className: "marathons")
query.orderByAscending("end")
query.findObjectsInBackgroundWithBlock { (marathons, error:NSError?) -> Void in
if(error == nil ){
//success
for marathon in marathons! {
self.Name.append(marathon["Name"] as! String)
self.entryNumber.append(marathon["Number"] as! Int)
self.totalEntries.append(marathon["entries"] as! Int)
self.runnerDistance.append(marathon["distance"] as! Int)
}
self.TableView.reloadData()
}else {
print(error)
}
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
//MARK: TableView
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return Name.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let singleCell: TableViewCell = tableView.dequeueReusableCellWithIdentifier("Cell") as! TableViewCell
singleCell.Name.text = names[indexPath.row]
singleCell.entryNumber.text = "\(entryNumbers[indexPath.row])"
singleCell.totalEntries.text = "\(entires[indexPath.row])"
singleCell.runnerDistance.text = "\(distance[indexPath.row])"
return singleCell
}
名称、条目数、总条目数和跑步者距离定义为:
@IBOutlet var Name: UILabel!
@IBOutlet var entryNumber: UILabel!
@IBOutlet var totalEntries: UILabel!
@IBOutlet var runnerDistance: UILabel!
有什么建议吗?我正在使用 swift,解析为我的后端,并且 XCODE 7
您的代码中定义的模型对象在哪里?您正在附加到名为 Name
、entryNumber
、totalEntries
和 runnerDistance
的对象,但您正在尝试从名为 entryNumbers
entries
和 distance
.
编辑:
我明白这是怎么回事了。根据您的评论,您正在像这样初始化数组:
var names = [String()]
这实际上创建了一个数组,其中包含一个空字符串 [""]
。当您调用 append
时,您正在向数组添加另一个元素,这使您最终得到 ["","John"]
。如果你想要一个空数组,你应该像这样创建它:
var names = [String]()