我使用NSTimer(由旧问题引起,再次感谢你们,伙计们!:-))在一个间隔内刷新我的按钮。但是我无法阻止它!
我使用iOS 4.3作为我的最低版本。
无效无效。并且释放不适合我。
来源:
int i = 0;
NSTimer *t;
bool running = false;
- (void)UpdateButton
{
if(!running)
{
NSTimer *t = [NSTimer scheduledTimerWithTimeInterval: 1
target: self
selector:@selector(onTick:)
userInfo: nil
repeats:YES];
running = true;
}
else
{
bool value = t.isValid;
[t invalidate];
t = NULL;
t = nil;
}
}
-(void)onTick:(NSTimer *)timer
{
UIView *view = viewButtons;
for(UIButton *btnItem in view.subviews)
{
NSString *strValue = [@(i) stringValue];
btnItem.backgroundColor = [UIColor lightGrayColor];
[btnItem setTitle: strValue forState:UIControlStateNormal];
}
}
它工作正常,但它不会停止!!!
如何停止并启动NSTimer?
最好的问候
答案 0 :(得分:0)
好的,我明白了。
我必须通过调度异步来包围它:
dispatch_async(dispatch_get_main_queue(), ^{
if (t.isValid)
{
......