首页 > 循环创建对象多个,代理给对象赋值 怎么一一对应

循环创建对象多个,代理给对象赋值 怎么一一对应

/**
*根据指定坐标点生成一段折线
*@param coords 指定的经纬度坐标点数组
*@param count 坐标点的个数
*@return 新生成的折线对象
*/

for (NSInteger index = 0; index < array.count; index++) {

           // 生成折线
            BMKPolyline* polyline = [BMKPolyline polylineWithCoordinates:coors count:2];
            [_mapView addOverlay:polyline];

}

/**
*根据overlay生成对应的View
*@param mapView 地图View
*@param overlay 指定的overlay
*@return 生成的覆盖物View
*/
(BMKOverlayView )mapView:(BMKMapView )mapView viewForOverlay:(id <BMKOverlay>)overlay;

// 代理方法。

@interface MaintenanceBMKPolylineView : BMKPolylineView
{
}
@property (nonatomic , strong) NSMutableArray *infoArray; // 存储线段的的信息
@end

@implementation MaintenanceBMKPolylineView
@end

问题:
array.count 假如 = 10;

for (NSInteger index = 0; index < array.count; index++) {

// 用数组记录下折线的数据
[_maintenancePolylineViewInfoArray addObject:dic];
           // 生成折线
            BMKPolyline* polyline = [BMKPolyline polylineWithCoordinates:coors count:2];
            [_mapView addOverlay:polyline];

}

现在循环调用10次创建 折线。
若现在创建的第0条折线因经纬度原因在手机屏幕外。那么用户在移动屏幕后,才会调用
(BMKOverlayView )mapView:(BMKMapView )mapView viewForOverlay:(id <BMKOverlay>)overlay;方法去生成对应的polylineView。画出那个线段。

在循环中我用_maintenancePolylineViewInfoArray记录了10条折线他们各自对应的内容。
_maintenancePolylineViewInfoArray{A,B,C,D,E…};

请问,我怎么能做到让_maintenancePolylineViewInfoArray中的数值对应我创建出来的每一条折线呢?让_maintenancePolylineViewInfoArray的每个元素对应到代理方法中MaintenanceBMKPolylineView的infoArray。

【热门文章】
【热门文章】