【发布时间】:2017-03-31 01:23:18
【问题描述】:
我在尝试从 firebase 检索数据时遇到问题。我不断收到一条错误消息,提示 NSObject 在尝试追加时没有下标成员?目前firebase持有一个问题,一系列不同的答案和一个正确的答案。
class QuestionList
{
//properties
public static var Username: String = ""
private static var quiz = [Question]()
static func getDummyQuestions()->[Question]
{
//create some dummy data for the model
var ref: FIRDatabaseReference!
var refHandle: UInt!
ref = FIRDatabase.database().reference() //reference
refHandle = ref.child("Questions").child("Q1").observe(.value, with: { (snapshot)in
let dataDict = snapshot.value as? NSObject
//let value = snapshot.value as? NSDictionary
//let quest = value?["Question"] as! String
//let Answers = value?["Answers"] as! String
//let Correct = value?["Correct"] as! String
//quiz.append(Question(q: quest, a:[Answers], c: Correct))
quiz.append(Question(q: dataDict["Question"], a: dataDict["Answers"], c: dataDict["Correct"]))
//quiz.append(Question(q: "hello", a: ["short long", "short char", "short float", "short int"], c: 2 ))
//quiz.append(Question(q: "bye", a: ["short short", "short int", "short float", "short int"], c: 2 ))
print (dataDict)
})
return quiz
}
}
class Question
{
var quest:String
var answers:[String]
var correct:Int
init(q: String, a:[String], c:Int)
{
quest = q
answers = a
correct = c
}
func isCorrectQuestion(itemSelected: String)->Bool {
if (itemSelected == answers[correct]) {
return true
} else {
return false
}
}
} //}
【问题讨论】: