2013-08-07 23 views
8

Tôi đang tạo một CBMutableCharacteristic mới để sử dụng trong ứng dụng Bluetooth mà tôi đang tạo. Tôi có một số mã từ một hướng dẫn, trông như thế này:Cách khởi tạo CBMutableCharacteristic với nhiều CBCharacteristicProperties và Quyền

_customCharacteristic = [[CBMutableCharacteristic alloc] initWithType:characteristicUUID properties:CBCharacteristicPropertyNotify value:nil permissions:CBAttributePermissionsReadable];

nơi _customCharacteristic là CBMutableCharacteristic tôi.

Tuy nhiên, tôi muốn khởi tạo _customCharacteristic của mình với các thuộc tính khác, chẳng hạn như CBCharacteristicPropertyReadCBCharacteristicPropertyWrite. Điều này cũng đúng với các điều khoản: Tôi cũng muốn cung cấp cho nó CBAttributePermissionsWriteable.

Theo này: http://developer.apple.com/library/ios/#documentation/CoreBluetooth/Reference/CBCharacteristic_Class/translated_content/CBCharacteristic.html#//apple_ref/doc/c_ref/CBCharacteristicProperties

và điều này: http://developer.apple.com/library/ios/#documentation/CoreBluetooth/Reference/CBMutableCharacteristic_Class/Reference/CBMutableCharacteristic.html#//apple_ref/doc/c_ref/CBAttributePermissions

tôi có thể có cả nhiều thuộc tính và cho phép đối với từng đặc trưng. Tuy nhiên, tôi không biết làm thế nào để khởi tạo CBMutableCharacteristic của tôi theo cách này.

Trả lời

14

nó một enum, có giá trị khác nhau có thể được ORed bitwisely, vì vậy bạn có thể sử dụng các thuộc tính đặc trưng và điều khoản với nhau:

CBMutableCharacteristic *_customCharacteristic = [[CBMutableCharacteristic alloc] initWithType:characteristicUUID properties:CBCharacteristicPropertyNotify+CBCharacteristicPropertyRead 
value:nil permissions:CBAttributePermissionsReadable|CBAttributePermissionsWriteable]; 
+0

Điều quan trọng cần lưu ý là điều này chỉ hoạt động vì các giá trị độc quyền về mặt sinh học và mỗi giá trị chỉ được thêm một lần. Sử dụng bitwise hoặc "' | '" hoạt động là an toàn hơn và các giải pháp được chấp nhận chung. – allprog

4

tdevoy Câu trả lời là một trong những quyền, hoặc sau cũng là mã làm việc cho tôi

characteristic = [[CBMutableCharacteristic alloc] initWithType:characteristicUUID  properties:CBCharacteristicPropertyWriteWithoutResponse|CBCharacteristicPropertyRead value:nil permissions:CBAttributePermissionsReadable|CBAttributePermissionsWriteable]; 
Các vấn đề liên quan