performSelector在if循环中调用new

时间:2015-06-24 12:09:56

标签: ios nstimer performselector

我有

List<Players.RootObject> obj = JsonConvert.DeserializeObject<List<Players.RootObject>>(responseText);

方法:

if (_moves <=19) {

    [self performSelector:@selector(changeLabelState:) withObject:nil afterDelay: 1.0];

}

所以如果_moves = 19,一切正常。它变成了白色,又变成了灰色。但是如果_moves = 18,它会调用另一个时间,并且过渡太快了。

我怎么能这样做,他再也没有打电话呢?

1 个答案:

答案 0 :(得分:0)

如果您在循环中编写了代码,并且您不想多次执行选择器,请尝试添加&#39; break;&#39;执行后

if (_moves <=19) {

    [self performSelector:@selector(changeLabelState:) withObject:nil afterDelay: 1.0];
     break;
}

或者,如果需要,可以将条款更改为

if (_moves ==19) {

    [self performSelector:@selector(changeLabelState:) withObject:nil afterDelay: 1.0];

}