我的问题是关于一个在Swift 2中似乎不起作用的桥接头。我将这个代码strait从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"
}
}
这不起作用。我在#import <Parse/PFObject+Subclass.h>
行收到错误,错误为Consecutive statements of a line must be separated by ';'
。所以,我的问题是如何用Swift 2在Parse.com中进行子类化。我已经浏览了互联网并且没有找到任何东西。我认为Swift导入桥接头的方式可能有所改变,但我完全不确定,因为我之前从未使用过桥接头。所以,我可以做一些愚蠢的事情。无论如何,非常感谢任何帮助。感谢。
答案 0 :(得分:4)
首先确保您拥有最新的 Parse SDK。如果你有最新的SDK,你可以像这样创建一个 PFObject子类;
class Armor: PFObject, PFSubclassing {
static func parseClassName() -> String {
return "Armor"
}
}
当您创建自定义子类时,您应该将子类注册到 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
}
答案 1 :(得分:0)
发布SDK版本1.14.0后,您不需要注册子类。
请参阅https://github.com/ParsePlatform/Parse-SDK-iOS-OSX/releases/tag/1.14.0的更改日志。
在#1023和1035中也讨论了这个问题,删除对registerSubclass()的调用解决了PFUser中的循环问题。