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

查看:306
本文介绍了ios - NSLog打印出来的尖括号是什么类型?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

NSLog打印出来的如下图:

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

解决方案

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

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]]];
}

这篇关于ios - NSLog打印出来的尖括号是什么类型?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆