我正在使用Parse,我有一个PFObject,我用来代表一个" Job"。它工作得很精细,但总是使用setObject:forKey:和objectForKey:而不是访问属性是乏味的。
所以,我决定做一个正确的" PFObject子类。现在,每次拨打对象" objectId"给出了上面无法识别的选择器错误 - 甚至是与我的子类无关的调用。
我创建了我的子类"据我所知(在下面),我在 Parse.setApplicationId:之前调用了Job.registerSubclass():我的AppDelegate。有谁看过这个问题?
import Foundation
import Parse
class Job: PFObject, PFSubclassing {
@NSManaged var categoryName: String
@NSManaged var categoryId: String
@NSManaged var state: String
@NSManaged var details: String?
@NSManaged var jobDescription: String
@NSManaged var location: String
@NSManaged var dates: [String]
@NSManaged var images: PFFile?
@NSManaged var questionSequence: [String]?
@NSManaged var consumerResponseIndices: [Int]?
@NSManaged var isPosted: Bool
@NSManaged var bids: [AnyObject]?
override class func initialize() {
struct Static {
static var onceToken : dispatch_once_t = 0;
}
dispatch_once(&Static.onceToken) {
self.registerSubclass()
}
}
class func parseClassName() -> String {
return "Job"
}
}
答案 0 :(得分:0)
之前我遇到过同样的问题
尝试将NSArray/NSDictionary
转换为String
类型时,您可能会遇到此错误,因此会转为NSContiguousString
类型。
您可以查看:
看看是否发生了这种情况。
答案 1 :(得分:0)
就我而言,问题是:
if let countryLocale = (notification.userInfo![Constants.CountryLocale]!.firstObject as? String { code }
并用
解决if let countryLocale = (notification.userInfo![Constants.CountryLocale] as! [AnyObject]).first as? String { code }