Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS如何获取下一行_Ios_Swift_Parse Platform - Fatal编程技术网

iOS如何获取下一行

iOS如何获取下一行,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

我使用DB
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放回那里