iOS如何获取下一行
我使用DBiOS如何获取下一行,ios,swift,parse-platform,Ios,Swift,Parse Platform,我使用DBBack4app它类似于parse.com 我想在数据库的下一行加载点击按钮 现在,我将第一行提取到标签和按钮,当用户按下next时,应用程序将从DB加载新行 获取数据的我的代码: let query = PFQuery(className: "test") query.getFirstObjectInBackground{ (objects, error) in if error == nil && objects != nil { let q
Back4app
它类似于parse.com
我想在数据库的下一行加载点击按钮
现在,我将第一行提取到标签和按钮,当用户按下next时,应用程序将从DB加载新行
获取数据的我的代码:
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")
}
我该怎么做?我找不到这方面的信息。我只找到了如何加载到表视图,但我不使用表视图
例如:
好的,使用parse,您可能不想每次都调用服务器,所以您要做的是将数据附加到和数组中,然后只获取每个索引处的信息。有很多方法可以做到这一点,但我将展示一个简单的方法来做到这一点。你越是深入分析,你就可以使用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
每次向数组中添加一个时,它将返回下一组问题和答案
如果您需要澄清,请让我知道看看这是否有帮助。类型为“ViewController”的值在第二个代码段中没有成员“questions”检查第一行,该行是问题的声明此错误我得到-“参数传递给不带参数的调用”可选类型为“[PFObject]”的值未展开;你想用“!”吗或者“?”?确定删除查询。findinbackground整个过程重写它并让它自动填充。检查错误是否为nil,并将for loo放回那里