如何检查 NSDictionary 中字符串的前缀?

Posted

技术标签:

【中文标题】如何检查 NSDictionary 中字符串的前缀?【英文标题】:How to check prefix of string inside an NSDictionary? 【发布时间】:2017-06-02 11:30:08 【问题描述】:

广告数据包含:

Advertisement data 
    kCBAdvDataIsConnectable = 1;
    kCBAdvDataLocalName = "Ali \n";
    kCBAdvDataServiceUUIDs =     (
        "43200-B827-EB74-0E24-192168001107"
    );
    
if(advertisementData[@"kCBAdvDataServiceUUIDs"] hasPrefix:@"432")
    NSLog("It contains this string");
    

当我执行代码时,它给了我错误: 由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[CBUUID hasPrefix:]: unrecognized selector sent to instance 0x170034260”。

【问题讨论】:

最好使用CBAdvertisementDataServiceUUIDsKey 而不是@"kCBAdvDataServiceUUIDs"?否则,错误“无法识别的选择器发送到实例”是经典的,从消息的其余部分来看,这意味着 advertisementData[@"kCBAdvDataServiceUUIDs"]CBUUID 对象,而不是 NSString 对象。 【参考方案1】:

kCBAdvDataServiceUUIDs 是一个CBUUID。使用uuidString 获取字符串。

【讨论】:

以上是关于如何检查 NSDictionary 中字符串的前缀?的主要内容,如果未能解决你的问题,请参考以下文章