我正在尝试制作一个我已经制作的方法(让我们称之为自定义方法)来行动。
基本上我正在解析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]
不起作用。
有没有人对为什么有任何建议?
根据要求附上。后果。
答案 0 :(得分:2)
您可以使用
缩短代码NSString *latitude = [self.mapPlacesDictionary valueForKeyPath:@"result.geometry.location.lat"];
甚至疯狂如:
#define kLatKeyPath @"result.geometry.location.lat"
/* ... later */
NSString *lat = [self.mapPlacesDictionary valueForKeyPath:kLatKeyPath];