我知道这是一个愚蠢的问题但是这里有。
我有一个使用isConnected的旧应用。现在我收到一个警告,它已被弃用。我可以删除这行代码而不做任何分支,或者我该如何处理。抱歉这么密集。
这是来自CBPeripheral框架的一些代码。
- (void)peripheral:(CBPeripheral *)peripheral didDiscoverCharacteristicsForService:(CBService *)service error:(NSError *)error
{
// Deal with errors (if any)
if (error) {
NSLog(@"Error discovering characteristics: %@", [error localizedDescription]);
[self cleanup];
return;
}
}
- (void)cleanup
{
// Don't do anything if we're not connected
if (!self.discoveredPeripheral.isConnected) // here is where the warning comes {
return;
}
我想我发现答案应该是
- (void)cleanup
{
// Don't do anything if we're not connected
if (CBPeripheralStateDisconnected) {
return;
}
我还添加了@property(readonly)CBPeripheralState状态;在我的.h
我没有收到错误任何人都可以为我验证这一点吗?
答案 0 :(得分:15)
正如Apple Documentation所说:
isConnected
一个布尔值,指示外围设备当前是否连接到中央管理器。 (只读)(在iOS 7.0中不推荐使用。请改用状态属性。)
只需用以下代码替换您的代码:
if (self.discoveredPeripheral.state != CBPeripheralStateConnected)
return;
另一方面,如果这就是你在这种方法中所拥有的,基本上你什么都不做。 所以你可以删除那些死代码。这让我觉得缺少了什么......没有清理?