我有一个通常可以工作的搜索栏。当我在 iPhone 上测试时,问题出现了,自动更正开始了。我设置了搜索栏,如果查询栏中的文本长度 > 4,那么它开始将内容放入 searchResults 数组。如果有来自自动更正的建议,而我忽略它并从数组中选择某些内容,则应用程序崩溃。我将错误追溯到在行选择之前选择了自动更正的单词(但都完成了),所以我认为我正在访问的 searchResults 数组不再有效。
例如,我在搜索栏中输入了“demp”。自动更正建议“演示”。同时,搜索返回一堆带有“dempster”的结果。我选择第一个。当我这样做时,搜索会在“演示”下重新搜索并清除原始数组(请记住,我查看服务器进行搜索,因此数组没有重新填充)。然后 didSelectRowAtIndexRow 方法触发并且数组中没有任何内容并且它崩溃。
有什么想法吗?提前致谢。