Iphone 使用SorterDarRayUsingDescriptor后从NSMutableArray获取值

Iphone 使用SorterDarRayUsingDescriptor后从NSMutableArray获取值,iphone,ios4,ios5,objective-c-2.0,Iphone,Ios4,Ios5,Objective C 2.0,我做了一本词典,里面有纬度、经度和距离 NSMutableArray *HospitalArray = [NSMutableArray array]; NSDictionary *HospitalDictionary = [[NSDictionary alloc]init]; NSString *LATITUDE = @"latitude"; NSString *LONGITUDE = @"longitude"; NSString *DISTANCE = @"distance"; for (

我做了一本词典,里面有纬度、经度和距离

NSMutableArray *HospitalArray = [NSMutableArray array];
NSDictionary *HospitalDictionary = [[NSDictionary alloc]init];

NSString *LATITUDE = @"latitude";
NSString *LONGITUDE = @"longitude";
NSString *DISTANCE = @"distance";

for (int i=0; i<=100; i++) { 
// calculations for coordinates and distance are done ....
HospitalDictionary = [NSDictionary dictionaryWithObjectsAndKeys:latitude, LATITUDE,
        longitude, LONGITUDE,[NSNumber numberWithInt:distanceInKm], DISTANCE, nil];

[HospitalArray addObject:HospitalDictionary];
{ 
这项研究的结果是—

2012-05-30 08:24:42.784 Hospitals[422:15803] 
sorted array is 
{
    distance = 1;
    latitude = "27.736221";
    longitude = "85.330095";
}

我只想得到ObjectAtIndex的纬度或经度:SorterDarray的1。如何从SortedDarray(而非完整列表)中获取特定值(即纬度)。

要访问数组中对象的属性/方法,可以使用以下方法:

NSLog(@"Latitude for object at index 1 is %@",[[sortedArray objectAtIndex:1] latitude]);

Thks找到了另一个类似的解决方案LongtudeTextData=[[sortedArray objectAtIndex:1]objectForKey:@“经度”];他们不会做同样的事情。一个调用方法
-latitude
(在缺少自定义类别的
NSDictionary
上不可用),另一个调用
-objectForKey:
(不可用)。请注意,与
-valueForKey:
不同,
-objectForKey:
不会潜在地调用
-latitude
NSLog(@"Latitude for object at index 1 is %@",[[sortedArray objectAtIndex:1] latitude]);