NSLog打印出来的尖括号是什么类型?

NSLog打印出来的如下图:
图片描述

advertisementData[@"kCBAdvDataServiceData"][@"B000"]取不到尖括号这一部分的值,感觉是类型的问题,百度、Google了半天也没找到答案,请大牛来帮忙,感谢!

阅读 4.1k
1 个回答

昨天晚上找到的解决办法:

NSString *serviceData = [advertisementData[@"kCBAdvDataServiceData"] description];
NSString *MACString = [serviceData substringWithRange:NSMakeRange(14, 13)];

今天看到CBAdvertisementDataServiceDataKey的注释中说key是CBUUID对象,改成下面的代码了,value是NSData对象

NSDictionary *serviceData = advertisementData[CBAdvertisementDataServiceDataKey];
NSData *MACData = serviceData[[CBUUID UUIDWithString:@"B000"]];
NSString *MACString = [MACData description];

下午再次改进

NSDictionary *serviceData = advertisementData[CBAdvertisementDataServiceDataKey];
NSData *MACData = serviceData[[CBUUID UUIDWithString:@"B000"]];
Byte *MACDataByte = (Byte *)MACData.bytes;
NSMutableString *MAC = [NSMutableString stringWithString:@""];
for(int i = 0; i < [MACData length]; i++) {
    if (i > 0) {
        [MAC appendString:@":"];
    }
    [MAC appendString:[NSString stringWithFormat:@"%x", MACDataByte[i]]];
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题