showBluetoothAccessoryPickerWithNameFilter中的NSPredicate
我使用的方法叫做showBluetoothAccessoryPickerWithNameFilter:completion:
这是外部附件框架的一部分。 它只是返回iPhonefind的蓝牙设备,你可以select一个连接到它。
如果我使用这个参数: showBluetoothAccessoryPickerWithNameFilter:nil completion:nil
,它返回所有的设备,但是你可以指定哪些设备应该返回NSPredicate(Filter参数)。 所以我试图创build这样的谓词:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self CONTAINS MyString"]; [[EAAccessoryManager sharedAccessoryManager] showBluetoothAccessoryPickerWithNameFilter:predicate completion:nil]
但是当我运行该应用程序时,出现如下错误:
类不是关键字MyString的关键字编码兼容值。
我想这个问题是用谓词中的self
词,因为在这种情况下, self
意味着当前类的实例。 我对吗? 如果我只想得到名称中包含MyString的设备,我应该如何编写一个谓词? 感谢你们。
EAAccessoryManager文档指出谓词是使用附件的名称进行评估的。 你的问题是你应该把MyString放在引号之间:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self CONTAINS 'MyString'"];
希望能帮助到你。