我正在编写一个基于Apple的iOS设备温度传感器应用程序的应用程序。我正在尝试实现一个Disconnect按钮,它会断开当前连接的设备与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;
指针。
对不起,如果这是一个愚蠢的问题,或者之前有人问过,我真的很挣扎,迫切需要帮助!感谢
答案 0 :(得分:1)
disconnectButton
方法有两个错误。首先使用peripheral
变量而不进行初始化(是否忽略了编译器警告?)。其次,if
语句检查外围设备是否已断开连接,然后再次断开连接(您应该检查外围设备已连接)。