2016-06-28 11 views
1
let managedModel:NSManagedObjectModel = NSManagedObjectModel.mergedModelFromBundles(nil)! 


     var storeCoordinator:NSPersistentStoreCoordinator = NSPersistentStoreCoordinator(managedObjectModel: managedModel) 

     if storeCoordinator.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: nil) != nil{ 
      if error != nil{ 
       print(error!.localizedDescription) 
       abort() 
      } 
     } 

最新のswift2構文で修正する方法はありますか?
おかげタイプ 'NSPersistentStore'の値は決してゼロにはなりません。比較は許可されません。

型「NSPersistentStore」の値がnilになることはありません、比較が 許可
コールを投げることができないが、それが「してみてください」でマークされていないと、エラーが処理されない

enter image description here

+1

Swift 1.x構文を使用しています。この構文では、オプションが返されます。 Swift 2では、関数がエラーの場合にはnilを返さず、スローされます。 – Paulw11

+0

エラーのためにtry/catchを使用する必要があります。適切な構文を見つける最も簡単な方法は、コアデータを有効にして新しいプロジェクトを作成することです。 – vadian

+0

Paulw11。あなたはtry/catchをどのように使うことができるか答えてくれますか? ありがとう – ZAFAR007

答えて

0

これは私がスウィフト2でそれを処理する方法である:

let managedModel:NSManagedObjectModel = NSManagedObjectModel.mergedModelFromBundles(nil)! 
var storeCoordinator:NSPersistentStoreCoordinator = NSPersistentStoreCoordinator(managedObjectModel: managedModel) 

do { 
    try storeCoordinator.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: url, options: nil) 
} catch let error as NSError { 
    print(error!.localizedDescription) 
    abort() 
} 
関連する問題