如何在 NSMutableDictionary 中添加对象
How to add objects in a NSMutableDictionary
我有一个使用 MKMapView 的应用程序。在我的应用程序中,我声明了一个数组来保存来自 API 的响应。来自 API 的数据是要固定在地图中的作业(集群注释)。保存来自 API will/needs 的职位的数组,这些职位将被地图中可见的职位图钉过滤。我能够过滤坐标(在地图上可见或不可见),但我在将数据(可见的坐标)存储在新数组中时遇到了麻烦。
这是我目前的情况:
在我的地图视图中的 regionDidChangeAnimated
[ar objectAtIndex:0];
NSMutableDictionary *visibleJobs;
for(NSDictionary *loc in ar)
{
CLLocationDegrees Lat = [[[loc objectForKey:@"sub_slots"] objectForKey:@"latitude"] doubleValue];
CLLocationDegrees longTitude = [[[loc objectForKey:@"sub_slots"] objectForKey:@"longitude"] doubleValue];
CLLocationCoordinate2D point = CLLocationCoordinate2DMake(Lat, longTitude);
MKMapPoint mkPoint = MKMapPointForCoordinate(point);
BOOL contains = MKMapRectContainsPoint(mapView.visibleMapRect, mkPoint);
if(contains)
{
NSLog(@"Contains:1");
}
else
{
NSLog(@"Contains:0");
}
}
非常感谢任何帮助。
谢谢!
你为什么不使用 NSMutableArray
试试这个
NSMutableArray *visibleJobs = [[NSMutableArray alloc]init];
for(NSDictionary *loc in ar)
{
CLLocationDegrees Lat = [[[loc objectForKey:@"sub_slots"] objectForKey:@"latitude"] doubleValue];
CLLocationDegrees longTitude = [[[loc objectForKey:@"sub_slots"] objectForKey:@"longitude"] doubleValue];
CLLocationCoordinate2D point = CLLocationCoordinate2DMake(Lat, longTitude);
MKMapPoint mkPoint = MKMapPointForCoordinate(point);
BOOL contains = MKMapRectContainsPoint(mapView.visibleMapRect, mkPoint);
if(contains)
{
NSLog(@"Contains:1");
[visibleJobs addObject:loc];
}
else
{
NSLog(@"Contains:0");
}
}
现在可见的工作数组包含当前在地图上可见的所有图钉数据的字典
我有一个使用 MKMapView 的应用程序。在我的应用程序中,我声明了一个数组来保存来自 API 的响应。来自 API 的数据是要固定在地图中的作业(集群注释)。保存来自 API will/needs 的职位的数组,这些职位将被地图中可见的职位图钉过滤。我能够过滤坐标(在地图上可见或不可见),但我在将数据(可见的坐标)存储在新数组中时遇到了麻烦。
这是我目前的情况: 在我的地图视图中的 regionDidChangeAnimated
[ar objectAtIndex:0];
NSMutableDictionary *visibleJobs;
for(NSDictionary *loc in ar)
{
CLLocationDegrees Lat = [[[loc objectForKey:@"sub_slots"] objectForKey:@"latitude"] doubleValue];
CLLocationDegrees longTitude = [[[loc objectForKey:@"sub_slots"] objectForKey:@"longitude"] doubleValue];
CLLocationCoordinate2D point = CLLocationCoordinate2DMake(Lat, longTitude);
MKMapPoint mkPoint = MKMapPointForCoordinate(point);
BOOL contains = MKMapRectContainsPoint(mapView.visibleMapRect, mkPoint);
if(contains)
{
NSLog(@"Contains:1");
}
else
{
NSLog(@"Contains:0");
}
}
非常感谢任何帮助。 谢谢!
你为什么不使用 NSMutableArray
试试这个
NSMutableArray *visibleJobs = [[NSMutableArray alloc]init];
for(NSDictionary *loc in ar)
{
CLLocationDegrees Lat = [[[loc objectForKey:@"sub_slots"] objectForKey:@"latitude"] doubleValue];
CLLocationDegrees longTitude = [[[loc objectForKey:@"sub_slots"] objectForKey:@"longitude"] doubleValue];
CLLocationCoordinate2D point = CLLocationCoordinate2DMake(Lat, longTitude);
MKMapPoint mkPoint = MKMapPointForCoordinate(point);
BOOL contains = MKMapRectContainsPoint(mapView.visibleMapRect, mkPoint);
if(contains)
{
NSLog(@"Contains:1");
[visibleJobs addObject:loc];
}
else
{
NSLog(@"Contains:0");
}
}
现在可见的工作数组包含当前在地图上可见的所有图钉数据的字典