我知道这是一个愚蠢的问题但是这里有.
我有一个使用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
我没有收到错误任何人都可以为我验证这个吗?
解决方法
正如
Apple Documentation所说:
isConnected
A Boolean value indicating whether the peripheral is currently connected to the central manager. (read-only) (Deprecated in iOS 7.0. Use the state property instead.)
只需将代码替换为:
if (self.discoveredPeripheral.state != CBperipheralstateConnected) return;
另一方面,如果这就是你在这种方法中所拥有的,那么基本上你什么都不做.所以你可以删除那些死代码.这让我觉得缺少了什么…没有清理?