我有2个插页的tabbar。在第一个插图中,我有图像,其中8个标签带有一些值。我编写的方法是从数组中删除第一个对象并将随机对象添加到数组的末尾。 我使用此方法为标签添加值。它每2秒更新一次。
-(void) imageBackground
{
labValues1.text = [[[CPDConstants sharedInstance].arr lastObject] stringValue];
labValues2.text = [[[CPDConstants sharedInstance].arr2 lastObject] stringValue];
labValues3.text = @"9.76";
labValues4.text = @"9.81";
labValues5.text = [[[CPDConstants sharedInstance].arr3 lastObject] stringValue];
labValues6.text = [[[CPDConstants sharedInstance].arr4 lastObject] stringValue];
labValues7.text = @"10.01";
labValues8.text = @"10.03";
[NSTimer scheduledTimerWithTimeInterval:2.0f
target:self
selector:@selector(imageBackground)
userInfo:nil
repeats:YES];
}
在viewDidLoad
我创建数组[CPDConstants sharedInstance] .arr,带有一些起始值,并使用计时器来更新值
[NSTimer scheduledTimerWithTimeInterval:2 target:self selector:@selector(generator) userInfo:nil repeats:YES];
-(void)generator
{
[[CPDConstants sharedInstance].arr removeObjectAtIndex:0];
NSInteger countKiss=arc4random()%30;
[[CPDConstants sharedInstance].arr addObject:[NSNumber numberWithInteger:(20+countKiss)]];
}
在第二个插图中我有4个情节。我在4视图上划分屏幕并添加图形。并致电
[graph reloadData];
[graph2 reloadData];
[graph3 reloadData];
[graph4 reloadData];
它的工作。 但它很慢。我用它来创建动态数据的实时绘图。
如何让它更快?我认为主要问题是更新标签。如果我的程序工作超过10-15秒,它变得非常慢,我可以改变插入,它没有响应。
答案 0 :(得分:1)
有关一种方法,请参阅 Plot Gallery 示例应用程序中的“实时绘图”演示。不要在每次更新时加载所有绘图数据和标签,而是告诉图表仅更新更改的点。使用-insertDataAtIndex:numberOfRecords:
插入新数据点,使用-deleteDataInIndexRange:
删除不再需要的旧数据。