菜鸟教程小白 发表于 2022-12-11 17:32:22

ios - 初始导入后,iOS 10 中的 UITableview 不再刷新


                                            <p><p>我有一个应用程序,它在第一次启动时导入一个 XML 文件来创建一个表。这在 iOS 9 中工作得非常好。在 iOS 10 中,它仍然正确导入所有数据,并正确执行提取,但表格不会显示项目,直到我强制退出应用程序并再次打开它。相反,它只显示 xml 文件中的第一项。当我单击该项目时,它实际上将我带到了 298 个项目的有序列表中的第一个项目(这是一个不同的项目)。 </p>

<p>视频显示问题的链接:<a href="http://www.toycollectorapp.com/ios-10-uitableview-update-issues/" rel="noreferrer noopener nofollow" title="reloading table issues">reloading table issues</a> </p>

<p>订单:</p>

<ul>
<li>1) 应用在首次启动时打开,提示用户“导入数据”。解析器
用于导入XML并成功运行XML(我可以打印
每个项目的日志)。 </li>
<li>2) App 保存 importContext 并调用
tableView.reloadData </li>
<li>3) 此时,数据应该在表格中。
导航标题包括一个正确的计数(298 项)。
但是,表中只有一项,即 XML 中的第一项
文件。 </li>
<li>4) 如果我点击那个项目,它会带我去
298 项列表中的第一项(不是实际在
table )。 </li>
<li>5) 有趣的是,如果我执行搜索,则 1 的名称
项目没有改变,但如果我点击它,它会将我带到我的项目
搜索。如果我搜索不同的项目并单击 1
表中的项目,它将我带到新项目(但仍然没有
更改现有项目的文本) - 所以所有 298 个项目都在那里,
只是没有显示在表格中。</li>
</ul>

<p>我试过打电话</p>

<pre><code>self.viewDidLoad
</code></pre>

<p>和</p>

<pre><code>self.tableView.reloadData()
</code></pre>

<p>和</p>

<pre><code>dispatch_async(dispatch_get_main_queue()) {
            self.tableView.reloadData()
      }
</code></pre>

<p>并在解析完成后使用 NSNotificationCenter 调用上述所有三个函数</p>

<pre><code>NSNotificationCenter.defaultCenter().postNotificationName(&#34;performFetch&#34;, object: nil)
NSNotificationCenter.defaultCenter().addObserver(self, selector: #selector(self.test), name: &#34;performFetch&#34;, object: nil)
</code></pre>

<p>但实际上并没有重置 tableView 中的一项(恰好是 xml 文件中的第一项。同样,所有数据都在那里,只是不可见。</p>

<p>如果我强制退出应用程序并重新打开它,所有数据都在那里并且可见并且工作正常。在 iOS 10 中是否有不同/新的方法来强制刷新 tableview?同样,此功能在 ios 9 中运行良好,没有更改代码,但在 ios 10 中它失败了。我还没有升级到 Swift 3.0,因为它会很痛苦。 </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>您在 cellForRowAtIndexPath: 方法中进行单元格配置?我有一个类似的问题,我解决了它移动 willDisplayCell 中的代码:。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 初始导入后,iOS 10 中的 UITableview 不再刷新,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/39553683/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/39553683/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 初始导入后,iOS 10 中的 UITableview 不再刷新