定期网络扫描

时间:2019-08-16 23:04:54

标签: ios swift

我需要每0.5秒从TCP服务器检索一次值才能在iPhone上显示。我想从分段开关开始/停止扫描。开始段中的IBAction函数似乎没有保留在该函数中。添加while语句也不起作用。我在做什么错了?

这是一次失败尝试的摘要。此代码仅打印0、1、2、3、4,然后消失。如果我在应设置的延迟时间之后中断self.getValues()(也不起作用),它将永远无法到达那里。:

@IBAction func switchChange(_ sender: Any) {
    switch statrStopSwitch.selectedSegmentIndex
    {
        case 0:         //Start scanning
            if wifiStatus {
                getValues()
                var pass = 0;
                while statrStopSwitch.selectedSegmentIndex == 0{
                    print (pass)
                    DispatchQueue.main.asyncAfter(deadline: .now() + 30.0, execute: {
                        self.getValues()
                    })
                    pass += 1
                }
            }
            else{               // Wifi not connected
                notConnectedMessage()  // Issue alert message
            }
        case 1:         //Stop scanning
            ScanStatusLabel.text = "SCAN HALTED"
            break
        default:
            break
    }
}

0 个答案:

没有答案