【发布时间】:2017-07-06 11:22:06
【问题描述】:
我正在开发一个自动完成文本字段,这发生了
NSString *substring = [NSString stringWithString:autocompleteTextField.text];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@" CityCode[c] contains %@ OR Zone[c] contains %@ ",substring,substring];
filteredarr =[[searchArray filteredArrayUsingPredicate:predicate] copy];
错误发生在行
filteredarr =[[searchArray filteredArrayUsingPredicate:predicate] 复制];
filteredarr 是一个数组 searcharray 是一个获取 json 数据的数组
请帮帮我 提前致谢
【问题讨论】:
-
看起来你的子字符串是空的。
-
子字符串不为空...但是在发送到空数组时出现问题
-
是的,因为您试图在数组中添加任何内容,因此出现错误。您需要检查
[searchArray filteredArrayUsingPredicate:predicate]是否返回某些内容,并且只检查filteredarr中的copy -
CityCode contains[c] %@ OR Zone contains[c] %@代替?这似乎解决了它,但我不知道为什么exaclty。我猜想,不知何故,它可能在CityCode上使用subscript和c,以及为什么你会得到一个“setObject:ForKey:”而为零。 -
谢谢@Larme。那行得通。你是救生员
标签: ios objective-c nsstring nspredicate predicate