菜鸟教程小白 发表于 2022-12-13 14:54:25

ios - 当 UISearchBar 处于事件状态时,滚动到 UITableView 应用程序会崩溃


                                            <p><p>我的应用程序运行良好,但是突然当我单击 <code>UISearchBar</code> 并且向下滚动 <code>UITableView</code> 时没有输入,然后应用程序崩溃并出现以下错误: <code>Thread1 : EXC_BAD_INSTRUCTION</code></p>

<p>但是当我点击 <code>UISearchBar</code> 并输入一些文本后,当我向下滚动 <code>UITableView</code> 时,应用程序运行正常,它不会崩溃。</p>

<p>最后,当我点击 <code>UISearchBar</code> 并输入一些文本并删除所有这些文本时,之后当我向下滚动 <code>UITableView</code> 时,应用程序工作正常,它不会崩溃。 </p>

<p>此函数发生错误:</p>

<pre><code> func tableView(historyTableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -&gt; UITableViewCell {
      let cell = historyTableView.dequeueReusableCellWithIdentifier(&#34;cell&#34;)! as UITableViewCell;
      //self.historyTableView.scrollEnabled = true
      if(searchActive){
//...Error occurs over here ==&gt;&gt; Thread1 : EXC_BAD_INSTRUCTION
            cell.textLabel?.text = filtered
      } else {
            cell.textLabel?.text = data
      }

      return cell;
    }
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我的猜测是,当您开始主动搜索时,您并没有重新加载表格。我还猜测 <code>nunberOfRowsInSection:</code> 不处理主动搜索的情况。如果这些都是真的,那么只要您滚动到大于 <code>filtered.count</code></p> 的行,调用 <code>filtered</code> 就会使您的应用崩溃</p>
                                   
                                                <p style="font-size: 20px;">关于ios - 当 UISearchBar 处于事件状态时,滚动到 UITableView 应用程序会崩溃,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/35645261/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/35645261/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 当 UISearchBar 处于事件状态时,滚动到 UITableView 应用程序会崩溃