我已经从字符串数组中搜索字符串,并且该代码在swift 3中正常工作但在转换为swift 4之后,我开始搜索时出现以下错误。
无效模式' kCFRunLoopCommonModes'提供给CFRunLoopRunSpecific - 中断_CFRunLoopError_RunCalledWithInvalidMode进行调试。此消息仅在每次执行时出现一次。
由于未捕获的异常终止应用程序' NSInvalidArgumentException',原因:'不能使用不是字符串的字符串执行子字符串操作(lhs =" A& #34; rhs = N)'
这是我的代码
let predicate = NSPredicate(format: "SELF BEGINSWITH[cd] %@", searchText)
let arrSearchData = NSMutableArray(array: arrHomeTownData.filtered(using: predicate))
答案 0 :(得分:0)
最后我得到了解决方案,问题出在这一行
let arrSearchData = NSMutableArray(array: arrHomeTownData.filtered(using: predicate))
它变成了字符数组,而不是字符串数组,所以我链接这个和问题解决
let arrSearchData : [String] = NSMutableArray(array: arrHomeTownData.filtered(using: predicate))