2

我与 iBeacon 合作,我想一起监控许多信标。我做了一个 for(NSDictionary *iBeacon in iBeacons) 来拥有我需要的所有 iBeacon。在每个循环中,我尝试将 NSString 放入 NSUUID 中,如下所示:

NSString *uuid = [[NSString alloc] initWithFormat:iBeacon[@"UUID"]];
NSLog(@"UUID = %@",uuid);//first log
NSUUID *proximityUUID = [[NSUUID UUID] initWithUUIDString:uuid];
NSLog(@"proximityUUID = %@",proximityUUID);//Second log

当我查看我的日志时,我看到:

UUID = 5A4BCFCE-174E-4BAC-A814-092E77F6B7E5
proximityUUID = <__NSConcreteUUID 0x16ec5db0> 5A4BCFCE-174E-4BAC-A814-092E77F6B7E5

我想那个UUID等于proximityUUID,不明白为什么<__NSConcreteUUID 0x16ec5db0>要加?

谢谢你。

4

2 回答 2

4

<__NSConcreteUUID 0x16ec5db0>只是关于对象的一些信息。它是__NSConcreteUUID(的具体子类NSUUID)的一个实例,它的指针存储在内存地址0x16ec5db0中。要获取 UUID 值本身,请执行

NSLog(@"proximityUUID = %@",proximityUUID.UUIDString) 
于 2014-06-23T14:22:39.943 回答
1

proximityUUIDNSUUID,不是NSString

相反,您应该使用UUIDString方法。

NSLog(@"proximityUUID = %@", [proximityUUID UUIDString]); //Second log
于 2014-06-23T14:27:23.587 回答