类型'NSPersistentStore'不符合swift中的协议'BooleanType'

时间:2015-11-20 17:40:46

标签: ios swift

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'”为什么我收到此错误?任何帮助将不胜感激。谢谢提前

1 个答案:

答案 0 :(得分:3)

您正在使用的功能定义:

func addPersistentStoreWithType(_ storeType: String, configuration configuration: String?, URL storeURL: NSURL?, options options: [NSObject : AnyObject]?) throws -> NSPersistentStore

所以这是一个可以抛出并返回持久存储的函数。

您的代码显示if try coordinator!.addPers...,如果返回的持久存储为真,则为'。持久性存储不是真(或假),因此它不是布尔值。你已经编写了代码,就像返回了一个状态一样,但是返回了一个(非可选的)对象(假设函数没有抛出)。