ฉันมีสองโครงการ อันหนึ่งทำหน้าที่เป็นศูนย์กลาง อีกอันทำหน้าที่เป็นอุปกรณ์ต่อพ่วง Central เชื่อมต่อกับอุปกรณ์ต่อพ่วง จากนั้นจึงใช้วิธีเรียกกลาง readValueForCharacteristic
ไม่ใช่ในทันที แต่หลังจากผ่านไปประมาณ 5-10 วินาที อุปกรณ์ต่อพ่วงจะเรียกใช้วิธีมอบหมาย - (void)peripheralManager:(CBPeripheralManager *)peripheral didReceiveReadRequest:(CBATTRequest *)request
เหตุใดจึงมีความล่าช้า? ฉันจะกำจัดความล่าช้าได้อย่างไร? มีความคิดอะไรบ้าง? ฉันพยายามมาเกือบสัปดาห์แล้ว ขอบคุณทุกความช่วยเหลือ ขอบคุณ
ศูนย์กลาง
- (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;
}
}];
}
อุปกรณ์ต่อพ่วง
// CBPeripheralManagerDelegate
- (void)peripheralManager:(CBPeripheralManager *)peripheral didReceiveReadRequest:(CBATTRequest *)request
{
NSLog(@"didReceiveReadRequest");
}
enumerateKeysAndObjectsUsingBlock
ในเมื่อคุณพูดได้แค่CBCharacteristic *char=(CBCharacteristic *)self.charachterMDict[peripheral];
? สมมุติว่าคุณโทรrespondToRequest:
แต่ไม่ได้แสดงสิ่งนี้ - person Paulw11   schedule 11.11.2015respondToRequest:
- person alpine   schedule 11.11.2015