타이머를 사용하여 매초마다 문자열을 교체하려고합니다. 일반적으로 나는 예를 들어NSString을 새로운 문자열로 바꾸기가 작동하지 않습니다.
myString = [CCLabelTTF labelWithString:varyingParameterLabelString fontName:@"Helvetica" fontSize:14];
을 수행하여 아주 쉽게있는 NSString을 대체 할 수 있지만, 어떤 이유로 내있는 NSString의 값을 업데이트하지 않습니다. 아래는 내가하려는 일이다. 말 그대로 그냥 복사하고 setupLabels 방법으로 내 타이머 방식의 마지막 줄을 붙여 넣을 경우
@implementation Grid
{
NSTimer *timeRemainingTimer;
CCLabelTTF *_varyingParameterLabelValue;
}
-(void)setupLabels{
int timeRemaining = 30;
varyingParameterLabelValueString = [NSString stringWithFormat:@"%i", timeRemaining];
timeRemainingTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(decreaseTimeRemaining) userInfo:nil repeats:TRUE];
_varyingParameterLabelValue = [CCLabelTTF labelWithString:varyingParameterLabelValueString fontName:@"Helvetica" fontSize:20];
[self addChild:_varyingParameterLabelValue];
}
-(void)decreaseTimeRemaining{
timeRemaining--;
NSString *timeRemainingString = [NSString stringWithFormat:@"%i", timeRemaining];
_varyingParameterLabelValue = [CCLabelTTF labelWithString:@"timeRemainingString" fontName:@"Helvetica" fontSize:20];
//Still reads 30 after this runs
}
, 그것은 보통 같은 문자열을 변경하지만 타이머 방식의 내부에 아무것도하지 않습니다. 타이머가 실행 중인지 확인하기 위해 기록했습니다. 도와 주셔서 감사합니다!
"내 코드가 마음에 들지 않습니다."라는 말의 의미는 분명하지 않습니다. 더 자세한 정보를 제공 할 수 있습니까? –
죄송합니다. 오도 된 경우 NSString을 업데이트하지 않습니다. – spaderdabomb