ios - 解析不保存字段

标签 ios swift object parse-platform

我正在尝试将一个对象保存到 Parse,但由于某种原因,一个字段拒绝保存。其他一切都保存得很好。但不是这一件。

self.employeeObject.firstName = self.firstName.text!
            self.employeeObject.lastName = self.lastName.text!
            self.employeeObject.messages = self.messagesEnabledSwitch.on
            self.employeeObject.active = true
            self.employeeObject.pinNumber = "\(pinText!.text!)"
            print(self.employeeObject)
            do {
                try self.employeeObject.save()
            } catch {

            }

打印出:

<Employees: 0x1265cc070, objectId: new, localId: (null)> {
active = 1;
firstName = m;
lastName = d;
messages = 0;
pin = 3434;
}

但是保存时,并没有保存PIN码。引脚号在解析时设置为字符串。所以我试图确保它所提供的密码被如此对待。通过 String(PIN) 和“(Pin)”都没有解决我的问题。

我检查了我的模型,它是正确的。我也将它用于应用程序的许多其他部分,但不是这个创作。

有什么想法吗?

编辑: 这是employeeObject 所来自的Employee 模型:

导入基础 导入解析

class Employee: PFObject, PFSubclassing {

override class func initialize() {
    self.registerSubclass()
}

class func parseClassName() -> String {
    return "Employees"
}

var objectID : String {
    get {return objectForKey("objectId") as! String}
    set { setObject(newValue, forKey: "objectId") }
}

var pinNumber : String? {
    get {return objectForKey("pinNumber") as? String}
    set { setObject(newValue!, forKey: "pin") }
}

var firstName : String {
    get {return objectForKey("firstName") as! String}
    set { setObject(newValue, forKey: "firstName") }
}

var lastName : String {
    get {return objectForKey("lastName") as! String}
    set { setObject(newValue, forKey: "lastName") }
}

var messages : Bool {
    get {return objectForKey("messages") as! Bool}
    set { setObject(newValue, forKey: "messages") }
}

var userPoint : PFUser? {
    get {return objectForKey("userPointer") as? PFUser}
    set { setObject(newValue!, forKey: "userPointer") }
}

var roleType : Role? {
    get {return objectForKey("roleType") as? Role}
    set {setObject(newValue!, forKey: "roleType") }
}

var active : Bool {
    get { return objectForKey("active") as! Bool }
    set { setObject(newValue, forKey: "active") }
}
}

最佳答案

此代码不正确:

var pinNumber : String? {
    get {return objectForKey("pinNumber") as? String}
    set { setObject(newValue!, forKey: "pin") }
}

因为您正在设置 pin 但获取 pinNumber,因此您将始终获得默认值,因为它从未被设置过。

关于ios - 解析不保存字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35678661/

相关文章:

ios - 如何处理核心数据保存错误?

ios - 在 Bubble Tableview cell tap 上读取 NSBubbledata

javascript - 创建 javascript 对象属性时出错

javascript - Angular 过滤掉 ng-repeat 上多个选择中的重复项

c# - 如何在 iOS 上访问用户的 MKAnnotationView

ios - SwiftUI View 未更新为 EnvironmentObject 更改

ios - 动画 UITableViewCell 以编程方式移动到底部

swift - 有什么方法可以在不使用泛型的情况下编写我的协议(protocol),或者使用关联类型的其他解决方法?

swift - 错误 : Cannot load module 'webkit' as 'WebKit'

Javascript通过其他值从多维数组对象中获取值