我想在Swift中从Parse获取两个显示对象数据。我尝试过以这种方式使用label但它只显示对象中的最后一个元素。请问如何让它显示标签中对象中的所有元素。像一个元素到一个标签。谢谢
let query = PFQuery(className: "Questionnaire")
query.findObjectsInBackground { (objects, error) -> Void in
if error == nil {
// There were no errors in the fetch
if let returnedObjects = objects {
// var text = ""
// Objects Array is not nil
// loop through the array to get each object
for object in returnedObjects {
print(object["question"] as! String)
// text.append(object["question"] as! String)
self.Label.text = (object["question"] as! String)
}
}
}
}
答案 0 :(得分:1)
您可以像这样一行并使用question
分隔符加入所有,
,您可以将分隔符更改为任意(empty, -,...etc)
if let returnedObjects = returnedObjects {
self.Label.text = returnedObjects.map {($0["question"] as? String) ?? nil}.compactMap({$0}).joined(separator: ",")
}
答案 1 :(得分:0)
使用tableview。
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell", for: indexPath) as! YouTableViewCell
cell.textLabel.text = yourArray[indexpath.row] as? String ?? ""
return cell
}
答案 2 :(得分:0)
如果使用UILabel
var concatenatedString = ""
for object in returnedObjects {
concatenatedString += object["question"] as! String
}
self.Label.text = concatenatedString
答案 3 :(得分:0)
您正在循环遍历数组并将每个值设置为Label.text
。但是,设置Label.text
将取代之前标签上的内容。这就是你只能看到最后一项的原因。
一种解决方案是显示数组的字符串表示形式:
self.Label.text = "\(object)"
另一个解决方案是在Suganya Marlin建议的表格视图中显示项目。您需要符合UITableViewDatasource
并实施各种方法。这是guide。