gpt4 book ai didi

ios - 使用 Swift 在后端存储数据

转载 作者:行者123 更新时间:2023-11-30 13:42:29 24 4
gpt4 key购买 nike

我正在开发一个使用 Kinvey 作为后端的应用程序。我有一个对象数组 Questions 需要存储在数据库中,其中包含 QnumberQanswer1Qanswer2属性。我的问题是,当我尝试在数据库中保存这组问题时,它总是将数组中的最后一个对象保存 n 次。

假设我将这些数据存储在数组中:

Questions[0].Qnumber = 1
Questions[0].Qanswer1 = "a1"
Questions[0].Qanswer2 = "b1"

Questions[1].Qnumber = 2
Questions[1].Qanswer1 = "a2"
Questions[1].Qanswer2 = "b2"

Questions[2].Qnumber = 3
Questions[2].Qanswer1 = "a3"
Questions[2].Qanswer2 = "b3"

当我使用循环将这些对象保存在后端并检查数据库时,我得到:

Q 编号:3 , 3 , 3问题答案1:a3,a3,a3Qanswer2: b3, b3, b3

我花了两天时间试图解决这个问题,但我无法解决这是我的代码:

@IBAction func saveButton(sender: AnyObject) {

let i = Int(numberOfQuestions)
var newQ : Questions = Questions()
for var index = 0; index < i; ++index {
newQ.Qnumber = String(index + 1)
newQ.Qanswer1 = cellAnswer1[index]
newQ.Qanswer2 = cellAnswer2[index]
saveObject(newQ)
}
}

func saveObject (newQuestion: Questions){
let store = KCSAppdataStore.storeWithOptions([
KCSStoreKeyCollectionName : "Questions",
KCSStoreKeyCollectionTemplateClass : Questions.self
])


store.saveObject(
newQuestion,
withCompletionBlock: { (objectsOrNil: [AnyObject]!, errorOrNil: NSError!) -> Void in
if errorOrNil != nil {
NSLog("an error happened: %@", errorOrNil)
} else {
//save was successful
NSLog("A new question is saved sucessfully")
}
},
withProgressBlock: nil
)
}

最佳答案

我认为你应该尝试将 newQ 的首字母放入 for 循环中

for var index = 0; index < i; ++index {
var newQ : Questions = Questions()
newQ.Qnumber = String(index + 1)
newQ.Qanswer1 = cellAnswer1[index]
newQ.Qanswer2 = cellAnswer2[index]
saveObject(newQ)
}

关于ios - 使用 Swift 在后端存储数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35395528/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com