Я пытаюсь отобразить большие объемы данных в UIView как подпредставление UIScrollView.Чтобы преодолеть ограничения памяти, связанные с огромными UIViews, я планирую, как только смещение scrollview достигнет максимального или минимального смещения, перерисовать представление с новыми данными либо с меньшим значением «x», если оно достигло минимума, либо Visaнаоборот, а затем увеличьте смещение вида до противоположности его текущей позиции (то есть MAX -> MIN и MIN -> MAX).Я попытался сделать это с помощью следующего кода.
- (void)scrollViewDidScroll:(UIScrollView *) scrollViewer {
CGPoint p = scrollViewer.contentOffset;
if(p.x==0){
if(appDel.windownum>0){
appDel.windownum--;
[graphview setNeedsDisplay];
}
}
if(p.x==1000){
if(appDel.pcont>appDel.windownum*100){
appDel.windownum++;
[graphview setNeedsDisplay];
}
}
}
appDel.windownum
- это ссылка на секцию графика, отображаемую в данный момент.Если он равен нулю, он отображает первые сто значений.Если он равен единице, следующей сотне и т. Д. После сброса этой переменной в appDelegate график перерисовывается с новым индексом значений, а scrolloffset сбрасывается.Однако, когда этот код запускается, программа падает.С и ошибка:
TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION
Сбой в симуляторе.Что я сделал не так?
XCode 3.2.1 Прошивка для iPhone 3.1.3