2016-03-31 52 views
0

コードを最新のSwift構文に更新しているときに、以下のコードでエラーが発生します。'()'と 'Bool'型のオペランドにはバイナリ演算子 '=='を適用できません

バイナリ演算子「==」はタイプのオペランドに適用することはできません
  • 「()」と「ブール」
  • コールを投げることができますが、それを「してみてください」とエラーが処理されないとマークされていない
  • enter image description here

は解決策を見つけることに私を助けてください。

+4

スクリーンショットの代わりに実際のコードを掲載する必要があります。 [詳細はこちら](http://meta.stackoverflow.com/a/285557/1402846)を参照してください。ありがとうございました。 – Pang

+2

@ Gaurav writeToFileはBoolを返しません。エラーが発生します。あなたは、エラー処理をキャッチしようとするとよいでしょう –

答えて

0

問題を解決するには、try catch構造を使用してみてください。あなたがで記述する必要が

 do { 
     try text.writeToFile(path, atomically: false, encoding: NSUTF8StringEncoding) 
    } 
    catch 
    { 

    } 
2

それは次のようにあなたは、エラーをキャッチすることができ、例外

do { 
    try str.writeToFile("yourPath", atomically: true, encoding: NSUTF8StringEncoding) 
} 
catch { 

} 

をスローするので、catchブロックを実行します。また、ガードや延期を通過することができます

do { 
    try str.writeToFile("yourPath", atomically: true, encoding: NSUTF8StringEncoding) 
} 
catch let error as NSError { 
    print(error.description) 
} 

http://nshipster.com/guard-and-defer/スピーディーな新しいコンセプトです

1

writeToFileメソッドは例外をスローします。関数writeToFilePath(パス、何も返さない(それの戻り値の型がvoidであるか())とあなたがブール値に何を比較しないようにしようとしている:)アトミック:,エンコーディング

do { 
     try str.writeToFile(filename, atomically: true, encoding: NSUTF8StringEncoding) 
    } 
catch { 
// failed to write file – bad permissions, bad filename, missing permissions, or more likely it can't be converted to the encoding 
     } 
0

このブロックを使用してください。

2番目のエラー行は、このルーチンが失敗した場合にエラーをスローすることを説明しています。関数結果をboolと比較するのではなく、エラーを処理するためにSwiftのエラー処理メカニズムを使用する必要があります。

スウィフトで
0

、それはありませんlonger.Here BOOL戻りません文書内の記述です:

func writeToFile(_ path: String, 
     atomically useAuxiliaryFile: Bool, 
     encoding enc: UInt) throws 

それがエラーをスローするように、あなたがしようとすると、このようなエラーを無視する必要があります。

try! contentsOfFile.writeToFile("yourPath", atomically: true, encoding: NSUTF8StringEncoding) 

それとも、エラーをキャッチして処理します

do { 
    try contentsOfFile.writeToFile("yourPath", atomically: true, encoding: NSUTF8StringEncoding) 
} catch let error { 
    // handle error here 
} 
0

上記の答えがすべて正しいです!これらの呼び出しは例外をスローする可能性があります。

do { 
    contentsOfFile str.writeToFile(path, atomically: true, encoding: NSUTF8StringEncoding) 
} 
catch { 

} 
関連する問題