这里发生了一些非常奇怪的事情:
1 - (void)peripheral:(CBPeripheral *)peripheral didDiscoverServices:(NSError *)error {
2 if (error) {
3 NSLog(@"Error discovering services: %@", [error localizedDescription]);
4 return;
5 }
6 for (CBService *service in peripheral.services) {
7 NSLog(@"found service");
8 if ([service.UUID isEqual:[CBUUID UUIDWithString:@"6D59"]]) { // SwitchaBLE UUID
9 [peripheral discoverCharacteristics:@[[CBUUID UUIDWithString:@"6D5A"], [CBUUID UUIDWithString:@"6D5B"], [CBUUID UUIDWithString:@"6D5C"]] forService:service];
10 }
11 }
12 }
- 我在第 6 行设置了一个断点。在控制台中,我可以看到它
peripheral.services
有零个对象。 - 一小步。再次到达第 6 行。
- 一小步。转到第 11 行。预期。
- 一小步。转到第 9 行。WHAAAAAA?控制台:
print service
给我:error: use of undeclared identifier 'service'
。
到底发生了什么?