Ios 重绘图的岩芯图实时数据
我在一个self.view上有4个宿主视图Ios 重绘图的岩芯图实时数据,ios,core-plot,real-time-data,Ios,Core Plot,Real Time Data,我在一个self.view上有4个宿主视图 self.hostView.frame = CGRectMake(0.0, 0.0, 512.0, 352.0); self.hostView2.frame = CGRectMake(512.0, 0.0, 512.0, 352.0); self.hostView3.frame = CGRectMake(0.0, 352.0, 512.0, 352.0); self.hostView4.frame = CGRectMake(512.0, 352.0,
self.hostView.frame = CGRectMake(0.0, 0.0, 512.0, 352.0);
self.hostView2.frame = CGRectMake(512.0, 0.0, 512.0, 352.0);
self.hostView3.frame = CGRectMake(0.0, 352.0, 512.0, 352.0);
self.hostView4.frame = CGRectMake(512.0, 352.0, 512.0, 352.0);
在hostingView上我做了一个情节。我有4个数组和一些数据
self.arr1 = [NSMutableArray arrayWithObjects:
[NSDecimalNumber numberWithFloat:36.23],
[NSDecimalNumber numberWithFloat:38.44],
nil];
self.arr2 = [NSMutableArray arrayWithObjects:
[NSDecimalNumber numberWithFloat:36.23],
[NSDecimalNumber numberWithFloat:38.44],
nil];
self.arr3 = [NSMutableArray arrayWithObjects:
[NSDecimalNumber numberWithFloat:36.23],
[NSDecimalNumber numberWithFloat:38.44],
nil];
self.arr4 = [NSMutableArray arrayWithObjects:
[NSDecimalNumber numberWithFloat:36.23],
[NSDecimalNumber numberWithFloat:38.44],
nil];
我使用定时器调用方法生成器
[NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(generator) userInfo:nil repeats:YES];
-(void)generator
{
[self.bd1 removeObjectAtIndex:0];
NSInteger count=arc4random()%30;
[self.bd1 addObject:[NSNumber numberWithInteger:(20+count)]];
[graph reloadData];
[self.bd2 removeObjectAtIndex:0];
[self.bd2 addObject:[NSNumber numberWithInteger:(20+count)]];
[graph2 reloadData];
[self.bd3 removeObjectAtIndex:0];
[self.bd3 addObject:[NSNumber numberWithInteger:(20+count)]];
[graph3 reloadData];
[self.bd4 removeObjectAtIndex:0];
[self.bd4 addObject:[NSNumber numberWithInteger:(20+count)]];
[graph4 reloadData];
}
这是工作38秒,然后冻结。我能做什么使它工作良好。我需要重新加载数据以进行实时
有什么想法吗?关于一种方法,请参见Plot Gallery示例应用程序中的“实时绘图”演示。不要在每次更新时加载所有打印数据和标签,而是告诉打印仅更新更改的点。使用-insertDataAtIndex:numberOfRecords:
插入新的数据点,使用-deleteDataInIndexRange:
删除不再需要的任何旧数据。有关一种方法,请参阅Plot Gallery示例应用程序中的“实时绘图”演示。不要在每次更新时加载所有打印数据和标签,而是告诉打印仅更新更改的点。使用-insertDataAtIndex:numberOfRecords:
插入新数据点,使用-deleteDataInIndexRange:
删除不再需要的任何旧数据