我把NSString放在NSUUID中,然后我登录了一个错误的UUID iOS

时间:2014-06-23 14:18:12

标签: ios objective-c cocoa-touch ibeacon nsuuid

我与iBeacon合作,我希望一起监视许多信标。 我为iBeacons中的(NSDictionary * iBeacon)制作了一个我需要的所有iBeacons。 在每个循环中,我尝试将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>

谢谢。

2 个答案:

答案 0 :(得分:3)

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

NSLog(@"proximityUUID = %@",proximityUUID.UUIDString) 

答案 1 :(得分:0)

proximityUUIDNSUUID,而不是NSString

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

NSLog(@"proximityUUID = %@", [proximityUUID UUIDString]); //Second log