0
((NSString *)result[@"location"][@"lat"]).doubleValue

または、短縮された表記法はありますか?

基本的に、NSStringにいくつかのものをキャストして、いくつかのプロパティを取得したいと思います。ただし、ブラケットがないと機能しません。

もっと「エレガント」な表記が必要だと思います。もしそうなら、それは何ですか、そしてそれは説明できますか?優先順位などは何ですか。

4

1 に答える 1

1

このようにする方が短いです:

[result[@"location"][@"lat"] doubleValue]

の戻り値の型はresult[@"location"][@"lat"]であり、コンパイラからの苦情なしでid任意のメッセージを に送信できるためです。id(もちろん、オブジェクトは実行時にメッセージを理解する必要があります。そうしないと、致命的な例外が発生します。)

于 2012-12-07T07:49:32.417 に答える