2012-01-09 5 views
2

좋아, 음모를 만들 수 있습니다. 그러나 1 초 간격으로 한 번에 하나씩 데이터 플롯에 데이터 플롯을 부여하려면 매번 플롯을 다시 그리는 것 이외의 다른 방법으로 작동시키는 방법을 모르겠습니다. UIView를 서브 클래 싱하는 플롯에 데이터 포인트를 더 추가하려면 어떤 방법론을 적용해야합니까? 플롯 가정UIView 서브 클래 싱을 사용하여 drawRect로 플롯을 업데이트하는 방법은 무엇입니까?

- (id)initWithFrame:(CGRect)frame { 

    self = [super initWithFrame:frame]; 
    if (self) { 
     // Initialization code. 
    } 
    return self; 
} 


- (void)drawRect:(CGRect)rect { 
    // Drawing code. 
} 

- (void)addSample: ??{ 
    ??? 
} 

들으

답변

1

가있는 NSMutableArray처럼, 변경 가능한 컬렉션의 데이터 세트를 사용하고, 그 컬렉션에서 당신의 -drawRect: 당긴는 다음 -addSample: 방법은 단지에 데이터 포인트를 추가 할 필요가 있음 해당 컬렉션을 찾은 다음보기의 -setNeedsDisplay을 호출하십시오. 그러면 -drawRect:이 실행 루프를 통해 다음 반복에서 호출되어 그래프를 다시 그립니다.

+0

전체 플롯을 다시 그리지 않고 다른 플롯을 플롯에 추가하기 만하면됩니다. ?? – Woof

+0

매 초마다 작업을 수행하는 경우 모든 것을 다시 그려도 성능에 미치는 영향은 무시할 수 있습니다. 일반적으로 데이터 세트가 커짐에 따라 스케일을 조정하거나 오래된 데이터 포인트를 제거 할 때 그래프를 반복해서 그릴 필요가 있습니다. 여기에 관심이없는 이유가 있습니까? –

+0

필자는 초기에 플롯 제한을 설정할 예정입니다. 플롯 크기를 조정하지 않기를 바랍니다. 결국 음모에 최대 10,000 포인트가 될 것입니다. – Woof

관련 문제