Saya punya dua proyek. Yang satu bertindak sebagai pusat, yang lain sebagai periferal. Pusat telah terhubung ke periferal, kemudian pusat memanggil metode readValueForCharacteristic
. Tidak segera, tapi setelah sekitar 5-10 detik, periferal memanggil metode delegasi - (void)peripheralManager:(CBPeripheralManager *)peripheral didReceiveReadRequest:(CBATTRequest *)request
. Mengapa ada penundaan? Bagaimana cara menghilangkan penundaan? Ada pemikiran? Saya sudah mencoba selama hampir seminggu sekarang. Hargai setiap bantuan, terima kasih
pusat
- (void)sendBtnClick:(id)sender
{
USCPeerBtn *btn = (USCPeerBtn *)sender;
CBPeripheral *peripheral = btn.connectedPeripheral;
if (!peripheral) {
return;
}
[self.charachterMDict enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) {
if (key == peripheral) {
[(CBPeripheral *)key readValueForCharacteristic:(CBCharacteristic *)obj]; // read
*stop = YES;
}
}];
}
periperal
// CBPeripheralManagerDelegate
- (void)peripheralManager:(CBPeripheralManager *)peripheral didReceiveReadRequest:(CBATTRequest *)request
{
NSLog(@"didReceiveReadRequest");
}
enumerateKeysAndObjectsUsingBlock
padahal Anda hanya bisa mengatakanCBCharacteristic *char=(CBCharacteristic *)self.charachterMDict[peripheral];
? Mungkin Anda meneleponrespondToRequest:
tetapi belum menunjukkan ini? - person Paulw11   schedule 11.11.2015respondToRequest:
- person alpine   schedule 11.11.2015