子类PFUser在swift中

ril*_*lar 1 properties subclass parse-platform swift pfuser

我想在swift中继承PFUser对象.我也想声明自己的变量.关于子类化的Parse文档此时不包括PFUser.

解析子类化PFObject的文档:

class Armor : PFObject, PFSubclassing {
    class func load() {
       self.registerSubclass()
    }
    class func parseClassName() -> String! {
       return "Armor"
    }
}
Run Code Online (Sandbox Code Playgroud)

ril*_*lar 9

BridgingHeader.h:

#import <Parse/Parse.h>
#import <Parse/PFObject+Subclass.h>
Run Code Online (Sandbox Code Playgroud)

User.swift:

import Foundation

class User : PFUser, PFSubclassing {

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

//My variables
dynamic var firstname: String
dynamic var lastname: String

}
Run Code Online (Sandbox Code Playgroud)

在子类化PFUser时不要包含这个片段:

class func parseClassName() -> String! {
    return "User"
}
Run Code Online (Sandbox Code Playgroud)

  • 我的情况是有人没有让动态关键字起作用,而是使用@NSManaged. (2认同)

emr*_*tar 8

在Swift 2.0中您不需要为子类化PFUser 实现PFSubclassing协议.

只需创建这样的普通子类;

class ParseUser: PFUser {

    @NSManaged var name: String?
    @NSManaged var surname: String?
    @NSManaged var phoneNumber: String?

    override class func initialize() {
        struct Static {
            static var onceToken : dispatch_once_t = 0;
        }
        dispatch_once(&Static.onceToken) {
            self.registerSubclass()
        }
    }
Run Code Online (Sandbox Code Playgroud)