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]);