更新 1
我通过将条件放入dealCard
而不是in 来解决循环不停止的问题startPause
。
更新 1
更新 0
- (IBAction)startPause: (UIButton *)sender{
NSString *buttonTitle = sender.currentTitle;
if ([buttonTitle isEqualToString: @"Pause"]) {
[self.myButton setTitle:@"Resume" forState:UIControlStateNormal];
[timer invalidate];
}
else
{
[self.myButton setTitle:@"Pause" forState:UIControlStateNormal];
if ([self.deal length]>cardNum) {
timer = [NSTimer scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(dealCard)
userInfo:nil
repeats:YES];
}
else
[timer invalidate];
}
}
除了上面修改过的代码之外,我还按照多人的建议添加了IBOutlet
for 的属性,并将其更改为from ,并删除了对from的调用。现在系统似乎可以工作,只是“while”条件的失败不会正确地使子句中的in无效。myButton
NSTimer
repeats:YES
repeats:NO
[self startPause]
dealCard
self.deal length]>cardNum
NSTimer
else
我可以使用一些反馈来说明为什么无效不会被解雇。
更新 0
继续这个已回答的问题,我正在尝试添加“startPause”UIButton 的“Pause”部分。点击按钮后,我希望它的标题和动作为“暂停”,然后我希望它的标题在“恢复”和“暂停”之间切换。
该按钮是在 Storyboard 中创建的,我想不出如何为按钮创建一个标识符,以便我可以以编程方式对其进行更改。我怀疑我现在需要增强按钮的IBAction
方法以包含“发件人”,但我可能还差得很远。
目前我有以下未完成的代码。
- (IBAction)startPause: (UIButton *)sender{
NSString *buttonTitle = sender.currentTitle;
if ([buttonTitle isEqual: @"Pause"]) {
[myButton setTitle:@"Resume" forState:UIControlStateNormal]; //**** myButton is what?
if ([self.deal length]>cardNum) {
timer = [NSTimer scheduledTimerWithTimeInterval:1.0
target:self
selector:@selector(dealCard)
userInfo:nil
repeats:NO];
}
}
}
(我知道我还没有开始代码的“其他”部分。)
我如何在情节提要中myButton
连接我的startPause
按钮?