【问题标题】:NSPredicate in showBluetoothAccessoryPickerWithNameFiltershowBluetoothAccessoryPickerWithNameFilter 中的 NSPredicate
【发布时间】:2013-07-30 20:01:22
【问题描述】:

我正在使用称为showBluetoothAccessoryPickerWithNameFilter:completion: 的方法,它是外部附件框架的一部分。它只返回 iPhone 找到的蓝牙设备,您可以选择一个连接到它。

如果我使用这个参数:showBluetoothAccessoryPickerWithNameFilter:nil completion:nil,它会返回所有设备,但您可以使用 NSPredicate(过滤器参数)指定它应该返回的设备。所以我尝试创建这样的谓词:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self CONTAINS MyString"];
[[EAAccessoryManager sharedAccessoryManager] showBluetoothAccessoryPickerWithNameFilter:predicate completion:nil]

但是当我运行该应用程序时,出现如下错误:

类与键 MyString 的键值编码不兼容。

我想问题出在谓词中的self 单词上,因为在这种情况下self 表示当前类的实例。我对吗?如果我只想获取名称中包含 MyString 的设备,我应该如何编写谓词?谢谢各位。

【问题讨论】:

    标签: ios bluetooth nspredicate external-accessory


    【解决方案1】:

    EAAccessoryManager 文档说谓词是使用附件的名称进行评估的。你的问题是你应该把 MyString 放在引号之间:

    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self CONTAINS 'MyString'"];
    

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-05
      • 2013-09-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多