我正在写一个基于苹果iOS设备的温度传感器应用程序的应用程序。我正在尝试实现一个“断开连接”按钮,该按钮将断开当前已连接的设备与iPhone的连接,但是当按下断开连接按钮时,存在一个BAD_ACCESS error,我知道这是基于内存的,但是我完全不知如何解决它。代码如下。

- (IBAction)clickbutton:(id)sender
{

    [[LEConnect sharedInstance] startScan:AccelerometerServiceUUID];
}

- (IBAction)disconnectButton:(id)sender
{
    CBPeripheral    *peripheral;
    if(CBPeripheralStateDisconnected)
    {
        [[LEConnect sharedInstance] disconnectPeripheral:peripheral];
    }
}
startScan button可以正常工作,但是disconnect button不能正常工作。按钮中的代码基于查找以下所示设备的代码:
if (CBPeripheralStateConnected)
{
    [[LEConnect sharedInstance] connectPeripheral:peripheral];
    [currentlyConnectedDevice setText:[peripheral name]];
}

在此函数的前面,创建了相同的CBPeripheral *peripheral;指针。

对不起,如果这是一个愚蠢的问题,或者以前曾被问过,我真的很挣扎,非常需要帮助!谢谢

最佳答案

disconnectButton方法有两个错误。首先,使用peripheral变量而不进行初始化(您是否忽略了编译器警告?)。其次,if语句检查外围设备是否已断开连接,然后再次断开连接(您应检查外围设备是否已连接)。

关于ios - 为什么不断开工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23093050/

10-13 04:07