コードを最新のSwift構文に更新しているときに、以下のコードでエラーが発生します。'()'と 'Bool'型のオペランドにはバイナリ演算子 '=='を適用できません
バイナリ演算子「==」はタイプのオペランドに適用することはできません- 「()」と「ブール」
- コールを投げることができますが、それを「してみてください」とエラーが処理されないとマークされていない
コードを最新のSwift構文に更新しているときに、以下のコードでエラーが発生します。'()'と 'Bool'型のオペランドにはバイナリ演算子 '=='を適用できません
バイナリ演算子「==」はタイプのオペランドに適用することはできません問題を解決するには、try catch
構造を使用してみてください。あなたがで記述する必要が
do {
try text.writeToFile(path, atomically: false, encoding: NSUTF8StringEncoding)
}
catch
{
}
それは次のようにあなたは、エラーをキャッチすることができ、例外
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/スピーディーな新しいコンセプトです
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
}
このブロックを使用してください。
2番目のエラー行は、このルーチンが失敗した場合にエラーをスローすることを説明しています。関数結果をboolと比較するのではなく、エラーを処理するためにSwiftのエラー処理メカニズムを使用する必要があります。
スウィフトで、それはありません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
}
上記の答えがすべて正しいです!これらの呼び出しは例外をスローする可能性があります。
do {
contentsOfFile str.writeToFile(path, atomically: true, encoding: NSUTF8StringEncoding)
}
catch {
}
スクリーンショットの代わりに実際のコードを掲載する必要があります。 [詳細はこちら](http://meta.stackoverflow.com/a/285557/1402846)を参照してください。ありがとうございました。 – Pang
@ Gaurav writeToFileはBoolを返しません。エラーが発生します。あなたは、エラー処理をキャッチしようとするとよいでしょう –