Swift 2 中的 Parse.com 子类化

Ant*_*ito 1 objective-c ios parse-platform swift

我的问题是关于一个似乎在 Swift 2 中不起作用的桥头。我将此代码海峡从 Parse.com iOS 指南复制到 xCode 中,看看它是否可以工作。

#import <Parse/PFObject+Subclass.h>

class Armor : PFObject, PFSubclassing {
    override class func initialize() {
        struct Static {
            static var onceToken : dispatch_once_t = 0;
        }
        dispatch_once(&Static.onceToken) {
            self.registerSubclass()
        }
    }

    static func parseClassName() -> String {
        return "Armor"
    }
}
Run Code Online (Sandbox Code Playgroud)

这不起作用。我在错误#import <Parse/PFObject+Subclass.h>行上收到错误Consecutive statements of a line must be separated by ';'。所以,我的问题是我将如何使用 Swift 2 在 Parse.com 中进行子类化。我环顾了互联网,但没有找到任何东西。我认为 Swift 导入桥头的方式可能发生了变化,但我完全不确定,因为我以前从未使用过桥头。所以,我可能会做一些愚蠢的事情。无论如何,非常感谢任何帮助。谢谢。

emr*_*tar 5

首先确保您拥有最新的Parse SDK。如果你有最新的 SDK,你可以像这样创建一个PFObject 子类;

class Armor: PFObject, PFSubclassing {

static func parseClassName() -> String {
      return "Armor"
   }
}
Run Code Online (Sandbox Code Playgroud)

当您创建自定义子类时,您应该像这样在AppDelegate中将您的子类注册到 Parse SDK ;

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

        //Registering SubClasses
        Armor.registerSubclass()

        // Initialize Parse.
        Parse.enableLocalDatastore()
        Parse.setApplicationId("Your API Key", clientKey: "Your Client Key")

        return true
    }
Run Code Online (Sandbox Code Playgroud)