1

我正在尝试制作一种我已经制作的方法(让我们称之为自定义方法)来行动。

基本上,我正在解析 JSON 信息并获取纬度(然后最终我将通过相同的方式获得对数,但不是相同的方法,如果有意义的话,不同的方法相同)。当我使用下面的内容时,它可以工作并且我得到了字符串。

NSString *mapStringLatitude = [[[[self.mapPlacesDictionary objectForKey:@"result"]objectForKey:@"geometry"]objectForKey:@"location"]valueForKey:@"lat"];

这将返回(通过NSLog):

mapStringLatitude: 37.790943

哪个是对的。我想让代码更容易阅读。所以我想要一个像 getLatitude 这样的方法来为我进行深入研究。我在下面有什么:

-(NSString *)getLatitude
{
    NSString *getLatitude = [[[[self.mapPlacesDictionary objectForKey:@"result"]objectForKey:@"geometry"]objectForKey:@"location"]valueForKey:@"lat"];
    return getLatitude;
}

我希望使用此方法代替上述行。基本上我在这里看:http: //bit.ly/1bh9o9R

它指出,[someobject method]我无法做到,即[self.mapDictionary getLatitude]不起作用。

有人对为什么有任何建议吗?

按要求附上。善后。在此处输入图像描述

4

1 回答 1

2

您可以使用使您的代码更短

NSString *latitude = [self.mapPlacesDictionary valueForKeyPath:@"result.geometry.location.lat"];

甚至像这样发疯:

#define kLatKeyPath @"result.geometry.location.lat"
/* ... later */
NSString *lat = [self.mapPlacesDictionary valueForKeyPath:kLatKeyPath];
于 2013-09-14T19:12:01.803 回答