我正在写一个基于苹果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/