在“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 类型的值转换为预期的参数类型

在 GLKView 类型的对象上找不到属性“层”

在“RKObjectManager”类型的对象上找不到属性“managedObjectStore”

在类型的对象上找不到 Restkit 2.0 'managedObjectContext'

在“ViewController”类型的对象上找不到属性引用?

在“UITableViewCell”类型的对象上找不到属性