Web サービス (JSON) 要求の結果として NSArray があります。
配列を印刷NSLog("%@", jsonResult)
すると、正しく表示されます。
(
{
text = “Some text”;
coordinates = “11.333345 - 09.33349”;
}
{
text = “Some text2”;
coordinates = “11.333345 - 09.33349”;
}
{
text = “Some text3”;
coordinates = “11.333345 - 09.33349”;
}
…
)
しかし、次の関数を使用して NSArray 内の各エントリのキー「テキスト」の値にアクセスしようとすると、常に次のような出力が得られます。
Text )r'ì• (instead of "Some text2, 3 ....")
なので、型の不一致があると思いますが、どこに問題があるのかわかりません。Objective-C では、非常にうまく機能します。
func getResult(){
self.webService.getResult({ jsonResult in
jsonResult!.enumerateObjectsUsingBlock({ object, index, stop in
var txt : NSString = object.valueForKey("text") as NSString
NSLog("Text %s", txt)
})
NSLog("Ready %@", jsonResult!)
});
}
何がうまくいかないのですか?
更新 1
NSString の代わりに NSObject を使用すると、テキストが正しく表示されることがわかりました
var txt : NSObject = object.valueForKey("text") as NSObject
NSLog("%@", txt)
とにかく、表示するには、その NSObject オブジェクトを NSString または String にキャストする必要があります...
文字列を表示することを期待しているエンコーディング...またはこの NSObject をキャストする方法????