Code:
do
{
//error showing at this line
if try coordinator!.addPersistentStoreWithType(NSSQLiteStoreType, configuration:nil, URL: url, options:nil){
coordinator = nil
// Report any error we got.
var dict = [String: AnyObject]()
dict[NSLocalizedDescriptionKey] = "Failed to initialize the application's saved data"
dict[NSLocalizedFailureReasonErrorKey] = failureReason
dict[NSUnderlyingErrorKey] = error
error = NSError(domain: "YOUR_ERROR_DOMAIN", code: 9999, userInfo: dict)
NSLog("Unresolved error \(error), \(error!.userInfo)")
abort()
}
}
catch{
print(error)
}
编译器给出错误,因为“类型'NSPersistentStore'不符合协议'BooleanType'”为什么我收到此错误?任何帮助将不胜感激。谢谢提前
答案 0 :(得分:3)
您正在使用的功能定义:
func addPersistentStoreWithType(_ storeType: String, configuration configuration: String?, URL storeURL: NSURL?, options options: [NSObject : AnyObject]?) throws -> NSPersistentStore
所以这是一个可以抛出并返回持久存储的函数。
您的代码显示if try coordinator!.addPers...
,如果返回的持久存储为真,则为'。持久性存储不是真(或假),因此它不是布尔值。你已经编写了代码,就像返回了一个状态一样,但是返回了一个(非可选的)对象(假设函数没有抛出)。