是否可以在while循环中等待用户触摸?我的意思是,如果我有一个带有“完成”按钮的视图,我有一个这样的循环:
while (ending == FALSE) {
...
/* Do something */
...
/* WAIT for user to touch "Finish" button and when this occurs, set ending=TRUE so the loop can finish */
...
/* Do something more*/
...
}
我想过用另一个while循环这样做:
while (myVar == FALSE) {
/* Do nothing */
}
修改按钮动作以更改两个变量(“结束”和“myVar”),但我认为它不是最有效的解决方案,它会占用大量内存或CPU?
答案 0 :(得分:0)
我很确定你的while循环实际上会阻止你的程序并且不允许获得任何触摸。如果您在等待按下按钮时确实需要执行某些操作(例如更新屏幕),则可以使用NSTimer定期激活方法。按下按钮时,它将在您的更新方法不起作用的某个时刻触发相关的答案。如果您在等待期间需要执行的操作与UI无关,则可以考虑在另一个线程上执行此操作,而不是定期执行nstimer更新。
答案 1 :(得分:0)
如果有效,请添加评论作为答案。
你能否使用NSTimer?基本上设置一个10秒的时间(甚至不需要那么长)并且只是让它循环,当用户做某种事件然后只是使[theTimer invalidate]的时间无效。然后你可以告诉用户他们花了多长时间来转向