ios - 谁能帮助我理解为什么我的 PFUser 子类在 save() 上崩溃?

标签 ios swift parse-platform

我已经完成了所需的步骤

  1. 子类化 PFUser

    class OYUser: PFUser, PFSubclassing {
    
        func bio() -> String {
    
            if self["bio"] != nil {
    
                return self["bio"] as! String
    
            } else {
    
                return ""
    
            }
    
        }
    }
    
  2. 我已在桥接文件中导入 PFObject+Subclass.h

  3. 在设置应用 ID 和可发布 key 之前,我已在应用委托(delegate)中注册了 PFUser 子类

当我使用signUpInBackgroundWithBlock()创建一个新的OYUser时,它工作得很好,但是当我在进行更改后调用OYUser.currentUser()!.save()时,我会崩溃并显示“EXC_BAD_ACCESS”。

根据我的经验,这通常意味着我试图访问一个从内存中释放的对象,但是当我打印当前用户对象时,它不是零。

那些 Parse.com 用户有什么想法吗?

最佳答案

我认为你应该使用可选绑定(bind):

//if self["bio"] is a non-nil value, it assigns it to the constant bio
//then returns bio, if self["bio"] is nil, then it returns ""
if let bio = self["bio"] as? String {
  return bio
} else {
  return ""
}

这不会使您的应用程序崩溃,因为如果 self["bio"] 为零,它将返回 ""

关于ios - 谁能帮助我理解为什么我的 PFUser 子类在 save() 上崩溃?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31061933/

相关文章:

ios - 根据 UILabel 内容调整 UITableViewCell 高度

iOS 如何加载多个应用内项目

ios - AutoLayout 上的 UILabel sizeWithFont 不起作用

ios - 如何在后台扫描 BLE 设备?

ios - 解析和 Xcode : Blocks won't autocomplete.

ios - 将图像文件从 Parse 保存到 iPhone

swift - 检测何时快速调用 pullToRefresh

ios - 如何在我的 Swift 类中使用 Objective-c 方法

swift - 是否可以将 Enum 值与 'if' 语句进行比较?

ios - 使用 drawrect 自定义 UIView 动画