gpt4 book ai didi

ios - 一个部分中有两个原型(prototype)电池

转载 作者:行者123 更新时间:2023-11-30 14:07:25 26 4
gpt4 key购买 nike

我有两个原型(prototype)电池。如果 messagesArray[indexPath.row] 值为“”,则出现一个,如果该值包含字符,则出现另一个。其中一个单元格的行高大于第二个单元格的行高,并且包含其他变量。它们都连接到自己的细胞类别并拥有自己的细胞标识符。我希望它们都在同一个表格 View 中的一个部分中共存,但我正在努力实现这一目标。我不断收到 fatal error :数组索引超出范围。数组值是从异步数据库请求填充的,这可能是解释。

我做错了什么/我怎样才能成功做到这一点?

var messagesArray = [String]()

override func viewDidLoad() {
super.viewDidLoad()

var query = PFQuery(className: "Class")
query.findObjectsInBackgroundWithBlock { (objects, error) -> Void in
if error == nil {

if let objects = objects {
for object in objects {
if let message = object["message"] as? String {
self.messagesArray.append(message)
}
}

}


} else {
println(error)
}
}
}



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

if self.messagesArray[indexPath.row] == "" {

var cell = tableView.dequeueReusableCellWithIdentifier("cellOne", forIndexPath: indexPath) as! CellOne

return cell

} else {

var cell = tableView.dequeueReusableCellWithIdentifier("cellTwo", forIndexPath: indexPath) as! CellTwo

return cell
}


}

编辑:如果 messagesArray[indexPath.row] == 某个除 "" 之外的值(实际上有一条消息),则该消息所在的第一个单元格显示的将大于第二个单元格,并由第二个单元格中不存在的 UILabel 显示。

最佳答案

如果您使用动态单元格,则 tableView 上不得有两个原型(prototype)单元格,只需要一个即可完成工作。

var messagesArray = [String]()

override func viewDidLoad() {
super.viewDidLoad()

var query = PFQuery(className: "Class")
query.findObjectsInBackgroundWithBlock { (objects:[AnyObject]?, error:NSError) -> Void in
if error == nil
{
if let objects = objects as? [PFObject]
{
for object in objects
{
var message = object["message"]
self.messagesArray.append(message)
self.tableView.reloadData()
}

}


}

else
{
println(error)
}
}
}



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


var cell = tableView.dequeueReusableCellWithIdentifier("cellOne", forIndexPath: indexPath) as! CellOne

var data = self.messagesArray[indexPath.row]
cell.textlabel.text = data

}

关于ios - 一个部分中有两个原型(prototype)电池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32193635/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com