按钮设置时无限循环

时间:2014-12-21 21:11:49

标签: objective-c loops button

我想在点击按钮时创建无限循环。当我再次按下按钮时,循环将中断。我此刻做了类似的事。

- (IBAction)Butt_uruchom:(id)sender {


    UIBarButtonItem *Button_Uruchom = (UIBarButtonItem *)sender;
    NSString *title=Button_Uruchom.title;
    if ([title isEqualToString:@"Start"])
    {


           Button_Uruchom.title = @"Stop";
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
        do{

            [self WyslijZapytanie:@"010C1\r\n"];

            }while([title isEqualToString:@"Stop"]);
        });


    }
    else
    {
        Button_Uruchom.title = @"Start";

    }

此代码在单击按钮时更改按钮标题。我想在按下Start时启动循环,在按下Stop时停止。我试图插入:

do{}while(title isEqualToString:@"Stop") in new Theard
在IF,但它不起作用。你能帮帮我吗? :)

2 个答案:

答案 0 :(得分:0)

您无法在同一个线程上循环接收终止接收按钮事件。使用第二个线程。单击按钮启动线程。第二次单击停止线程。但总的来说,永远循环并浪费CPU cicles是不明智的。

答案 1 :(得分:0)

请看一下 Understanding dispatch_async

监视套接字,考虑在第二个线程中使用NSRunloop。 Runloop会让威胁进入睡眠状态,直到源(例如套接字)将事件发送到runloop