在“CBPeripheral *”类型的对象上找不到属性“uuid”
Posted
技术标签:
【中文标题】在“CBPeripheral *”类型的对象上找不到属性“uuid”【英文标题】:Property 'uuid' not found on object of type 'CBPeripheral *' 【发布时间】:2016-03-16 13:08:54 【问题描述】:我正在使用以下代码:
CFStringRef cfstr = CFUUIDCreateString(NULL, self.peripheral.uuid);
这会返回一个错误
“在'CBPeripheral *'类型的对象上找不到属性'uuid'”
我认为这是因为 uuid
已被弃用,但我不知道如何更正它。
我尝试将 self.peripheral.uuid
更改为 self.peripheral.identifier
但这给了我
'不兼容的指针类型传递类型的可保留参数 'NSUUID *' 到 CF 函数期望 'CFUUIDRef'(又名 'const struct __CFUUID *') 类型
如果可以的话,请帮忙。
【问题讨论】:
CFStringRef cfstr = CFUUIDCreateFromString(NULL, (__bridge CFStringRef)peripheral.identifier.UUIDString);
?
【参考方案1】:
如果您尝试将peripheral
的UUID 获取为CFStringRef
,那么您需要做的就是:
CFStringRef cfstr = (__bridge CFStringRef)peripheral.identifier.UUIDString;
CBPeripheral
上的 identifier
属性是一个 NSUUID
类对象,它有一个返回 UUID 的 NSString
表示的方法。
有关更多信息,请参阅类参考:https://developer.apple.com/library/mac/documentation/Foundation/Reference/NSUUID_Class/
【讨论】:
以上是关于在“CBPeripheral *”类型的对象上找不到属性“uuid”的主要内容,如果未能解决你的问题,请参考以下文章
Swift 无法将 CBPeripheral 类型的值转换为预期的参数类型
在“RKObjectManager”类型的对象上找不到属性“managedObjectStore”
在类型的对象上找不到 Restkit 2.0 'managedObjectContext'