提问人:C0D3 提问时间:7/27/2023 最后编辑:halferC0D3 更新时间:8/13/2023 访问量:37
ParseSwift 未将 Int 保存到列 - undefined
ParseSwift not Saving Int to Column - undefined
问:
我有一个简单的GameScore对象,如文档(https://github.com/parse-community/Parse-Swift/blob/main/ParseSwift.playground/Pages/1%20-%20Your%20first%20Object.xcplaygroundpage/Contents.swift)
import Foundation
import ParseSwift
struct GameScore: ParseObject {
var objectId: String?
var createdAt: Date?
var updatedAt: Date?
var ACL: ParseACL?
var originalData: Data?
// Your own properties
var score: Int?
var name: String?
func merge(with object: Self) throws -> Self {
var updated = try mergeParse(with: object)
if updated.shouldRestoreKey(\.score, original: object) {
updated.score = object.score
}
if updated.shouldRestoreKey(\.name, original: object) {
updated.name = object.name
}
return updated
}
}
extension GameScore {
init(score: Int) {
self.score = score
}
init(score: Int, name: String) {
self.score = score
self.name = name
}
init(objectId: String?) {
self.objectId = objectId
}
}
然后,我通过调用以下函数将 GameScore 对象保存到服务器:
func createScore() {
var score = GameScore(score: Int(scoreScore), name: scoreName)
score.score = Int(scoreScore)
score.save { [weak self] result in
switch result {
case .success(let savedScore):
score = savedScore
self?.gameScore = savedScore
self?.fetchGameScores()
print("savedScore - score: \(score.score ?? 0), name: \(score.name ?? "")")
case .failure(let error):
print("save error: \(error.localizedDescription)")
}
}
}
现在,当我将此对象保存到 Parse 服务器时,它会保存它,但属性始终未定义。我做错了什么?我还尝试将属性递增,例如,increment() 操作按预期工作,分数变为 1。但它从不接受我设置分数的初始值。score
score
这应该非常简单易行,但它不起作用,我不明白为什么。
注意:我使用的是 ParseSwift 库,而不是 Obj-C 中的标准 Parse iOS SDK。
更新
当我在保存函数回调块中放置断点时,我确实看到 savedScore 在:
case .success(let savedScore)
确实有 100 分或未定义的分数。所以也许问题是我的 Parse 服务器没有在仪表板中正确显示这个 Int 值?这很奇怪。但是,它确实正确显示了同样位于 GameScore 对象上的属性。此外,从服务器获取 GameScore 后,最新创建的 GameScore 看起来具有未定义的分数,而不是响应回调所说的分数。因此,由于某种原因,服务器没有保存 Int 值。name
更新 2
我在 Parse 服务器中创建了另一列,并在我的 GameScore 对象中创建了一个名为(如示例所示)的相应属性,只是为了测试它。用 ,它保存了我正确给出的初始值!我不知道问题出在哪里,但也许它是一个关键字或不起作用的东西。point
point
score
答: 暂无答案
评论