gpt4 book ai didi

ios - 由于未捕获的异常 'NSInvalidArgumentException' 而终止应用程序,原因 : '*** setObjectForKey: object cannot be nil (key: index)'

转载 作者:行者123 更新时间:2023-11-29 00:17:28 24 4
gpt4 key购买 nike

我正在开发一个自动完成的文本字段,这发生了

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

filteredarr 是一个数组searcharray 是一个数组,里面有 json 数据

请帮帮我提前致谢

最佳答案

NSPredicate *predicate = [NSPredicate predicateWithFormat:@" CityCode[c] contains %@ OR Zone[c] contains %@ ",substring,substring];

您需要将[c](不区分大小写)放在保留字contains之后,而不是在

=>

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"CityCode contains[c] %@ OR Zone contains[c] %@ ",substring,substring];

对于错误本身(消息不是很明确),我想这就是为什么尝试使用 cCityCodeZone 上下标> key,得到 nil,这就是为什么你得到一个带有 nil 错误的 setObject:forKey: (你不能在对象上放置 nil 值)。

习惯上,我喜欢把保留谓词大写,如果是保留词并且有一个"action"=> CONTAINS[c] 更容易阅读,但这只是我的口味.

关于ios - 由于未捕获的异常 'NSInvalidArgumentException' 而终止应用程序,原因 : '*** setObjectForKey: object cannot be nil (key: index)' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44947502/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com