Xcode 5 で導入された新しい XCTest フレームワークを使用して単体テストを作成しようとしています。テスト ケースの 1 つに次のような行があります。
XCTAssertEqual([self.client stringEncoding], NSUTF8StringEncoding, …);
テストを実行しようとすると、Xcode が次のエラーを吐き出します:「NSUTF8StringEncoding への参照があいまいです。」上記の行を次のように変更することで、テストを機能させることができます。
XCTAssertEqual([self.client stringEncoding], (NSStringEncoding) 4, …);
(これは、 の値が 4 であるため機能しますNSUTF8StringEncoding
。) これはNSUTF8StringEncoding
、ローカル変数に代入し、XCTAssertEqual()
代わりに呼び出しで使用した場合にも発生します。このエラーが発生するのはなぜですか?