2016-06-28 6 views
-5

私は迅速で新しいですし、そのRSSReaderインターネットからのコードとswift2でエラーを取得しました。無記号が期待される引数の型と互換性がありません「()」

class func saveManagedObjectContext(managedObjectContext:NSManagedObjectContext)->Bool{ 
     if managedObjectContext.save(nil){ 
      return true 
     }else{ 
      return false 
     } 
    } 

無記号は
コールを投げることができる「)(」期待される引数の型と互換性がありませんが、それを「試す」でマークされていないとエラーが

enter image description here

を取り扱いしておりません

誰もが私はswift2でそれを修正する方法を教えてもらえますか?
ありがとう

答えて

3

引数リストからnilを削除します。メソッドmanagedObjectContext.save()は何か問題が生じた場合にエラーを投げます。それを行うための正しい方法は

do{ 
    try managedObjectContext.save() 
    return true 
} 
catch{ 
    return false 
} 
2

save()メソッドは、パラメータが冗長と無効の両方であるようにnilを使用して、任意のパラメータを取らないです。 saveメソッドを呼び出すときにも、それはエラーをスローする可能性を持っているので、あなたが処理するために、あなたの関数をプログラムしている可能性エラー、そうのような:

func saveManagedObjectContext(managedObjectContext:NSManagedObjectContext)->Bool { 
    do { 
     try managedObjectContext.save() 
     return true 
    } catch { 
     return false 
    } 
} 

あなたがキャッチしたい特定のエラーを持っている場合は、

catch [errorNameHere] { 
    [codeToRun] 
} 

そして、あなたは、複数のエラーと実行に対応するコードをキャッチしたい場合は、あなたがこれを書くことができます:構文はそうのように書かれている

catch [errorNameHere] { 
    [codeToRun] 
} catch [anotherErrorNameHere] { 
    [codeToRun] 
} catch { 
    [defaultCodeToRun] /* if no errors are thrown that were written above, but 
    there is an error thrown, this default catch block will handle it. If there 
    is no catch block to handle an error thrown and no default catch block, the 
    compiler will simply exit without having run anything. */ 
} 

エラー・時間についてのすべてを読むことができますスウィフト・ドキュメンテーションhereでのアンドリング。

+1

'class func'は有効なコードです。これは、インスタンスではなくタイプで関数を宣言します。 – dan

+0

@dan Oh okay私はそれを修正します。ありがとう。 – liamnickell

関連する問題