我使用数据库Back4app
,就像parse.com一样
我想加载点击按钮,数据库的下一行。
现在,当用户按下下一步时,我将第一行提取到标签和按钮上,应用程序将从数据库中加载新行。
我用于获取数据的代码:
let query = PFQuery(className: "test")
query.getFirstObjectInBackground{ (objects, error) in
if error == nil && objects != nil {
let question: String = objects!["question"] as! String
let answer1: String = objects!["answer1"] as! String
let answer2: String = objects!["answer2"] as! String
let answer3: String = objects!["answer3"] as! String
let answer5: String = objects!["answer5"] as! String
self.question = question
self.answer1 = answer1
self.answer2 = answer2
self.answer3 = answer3
self.answer4 = answer5
DispatchQueue.main.async {
self.loadDataToBox()
}
} else {
print("Error")
}
我该怎么做?我找不到有关此信息。我只找到了如何加载到表格视图,但是我没有使用表格视图。
示例:
答案 0 :(得分:0)
好吧,通过解析,您可能不想每次都继续调用服务器,因此您要做的就是将数据附加到数组中,然后仅获取每个索引处的信息。有很多方法可以做到这一点,但是我将展示一种简单的方法来做到这一点。解析越多,您就可以使用PFSubclassing,这是处理数据的一种更好的方法,但现在就这样。将其创建为新类
Class QuestionManager{
var question: String?
var answerA: String?
var answerB: String?
var answerC: String?
var answerD: String?
}
在头等舱中做到这一点。
var questions = [QuestionManager]()
var arrayIndex = 0
let query = PFQuery(className: "test")
query.findObjectsInBackground{ (objects, error) in
if error == nil && objects != nil {
for object in objects as? [PFObject]{
self.questions.append(QuestionManager(
question: object!["question"] as! String,
answerA: object!["answer1"] as! String,
answerB: object!["answer2"] as! String,
answerC: object!["answer3"] as! String,
answerD: object!["answer4"] as! String
))
}
} else {
print("Error")
}
然后两次访问它仅具有数组更改的索引
self.label.text = questions[arrayIndex].question
每次将一个数组添加到数组中时,它将返回下一组问题和答案
如果您需要澄清,请告诉我