문제

Objectatindex를 정의하는 int가 있는데,이를 문자열에 제공 한 다음 Uilabel에 표시 할 때 Uilabel이 배열을 통과 할 때 배열을 수정할 때 (이 경우 단어를 추가). 이상한 것만 표시됩니다. 나는 NSLOG를 수행했고 그것이 모든 것을 문자열에 전달한다는 것을 알았지 만 레이블이 모든 것을 표시하는 것은 아니며, 처음으로 만 만 수행하고 배열을 수정하면 홀수 만 수행합니다.

편집 : 코드 :

- (void) stuff {
    NSArray *indivwords = [sentence componentsSeparatedByString:@" "];
    count = [indivwords count]; //count=int
    if (i < count) {
        NSString *chunk = [indivwords objectAtIndex:i];
        [word setText:chunk];

        NSLog(chunk);
        i++;
    } else {
        word.textColor = [UIColor greenColor];
        [word setText:@"DONE"];
    }
}

이 모든 것은 NSTIMER에 의해 제어되며 슬라이더 값을 기반으로 설정합니다. 또한 iBaction에서 0으로 설정됩니다

iBaction 코드 :

word.textColor = [UIColor whiteColor];
[timer invalidate];
i = 0;

speedd = (1/speed.value)*60;



timer = [NSTimer scheduledTimerWithTimeInterval:(speedd) target:self selector:@selector(stuff) userInfo:nil repeats:YES];   

편집하다:

나는 그것을 고쳤다! 내가 한 일은 내가 카운트에 도달 한 후에 전화하는 것이 었습니다.

 -(void)stoptimer
{
[timer invalidate];
timer = [NSTimer scheduledTimerWithTimeInterval:(.01) target:self selector:@selector(empty) userInfo:nil repeats:YES];  
}

비어있는 것은 아무것도없는 공허입니다. 글쎄, 내가 한 것은 댓글을 추가하는 것뿐이었습니다.

//don't look over here, nothing to see here, oh look at that

원하는 경우 누군가가 이것을 닫을 수 있습니다

도움이 되었습니까?

해결책

Nstimer의 시간 간격은 슬라이더로 제어된다고 말했습니다. 아마도 슬라이더 값을 변경할 때마다 새로운 타이머 인스턴스를 시작하고있을 것입니다. 변경 후에는 타이머가 실행됩니다. 첫 번째는 레이블과 증분을 업데이트합니다 i. 두 번째는 첫 번째 직후에 와서 i의 값은 증가하므로 현재 덩어리 대신 다음 청크를 표시합니다.

타이머 - NSLOG 타이머 콜백의 타이머 인스턴스를 계산하고 결과를 비교하십시오. 하나 이상의 발사 일 수 있습니다.

다른 팁

내 생각 에이 방법이 있어야한다고 생각할 때이 방법을 부르는 두 가지 다른 조치가 있다는 것입니다. 나는 거기에 중단 점을 넣고 그것이 당신이 생각해야 할 곳을 멈추는 지 확인합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top