2

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 をキャストする方法????

4

1 に答える 1