菜鸟教程小白 发表于 2022-12-13 01:21:59

ios - XCode5 中两个 UITableView 之间的奇怪纠缠


                                            <p><p><em>解释前的总结</em></p>

<p>就好像 Storyboard将表格视为指向单个实例的指针,仅仅是因为我通过 Storyboard复制和粘贴。我在这里记录这个部分是为了提醒自己(我是 Stack Overflow 的狂热用户)和对他人的警告。当然,我想知道是否有一种简单的方法可以真正解开这两者,而无需从头开始重新创建一个 ViewController。 <strong>请继续阅读以获取解释。</strong></p>

<p><em>背景故事</em></p>

<p>首先,我使用 Storyboard 创建了 CatUIViewController。我连同 <code>.h</code> 和 <code>.m</code> 文件一起完成了整个工作。然后,需要一个用于 Dogs 的类似 ViewController,我将一个空的 ViewController 从 Object Library 拖放到 Storyboard 上,然后我将整个 UITableView 从 CatUIViewController 复制并粘贴到 DogUIViewController。当然,我对 <code>.h</code> 和 <code>.m</code> 文件也做了同样的事情。 CatUIViewController 和 DogUIViewController 之间真正的唯一区别是 Cat 的标题中有两个按钮,而 dog 有一个 UIImageView,以及两个标题共享的其他数据。 </p>

<p>很自然,当我粘贴到 Dog 等效项中时,Xcode 会为我完成所有连接。它自动连接所有的 IBOutlets 和 IBActions:Xcode 的一个很好的特性。</p>

<p><em>更多细节</em></p>

<p>两个表格 View 都有背景图片。并且从 Cat 到 Dog 的导航是可能的,因为我的应用程序使用的是 UITabBar——两者之间不存在其他链接。此外,当 Cat 引导其 Tab 时,Dog 位于其 Tab 的 NavigationController 中。</p>

<p><em>问题</em></p>

<p>问题是这样的:如果我在 DogUIViewController 并单击选项卡转换到 CatUIViewController,转换后 DogUIViewController 的背景显示为 CatUIViewController 的背景。事实上,如果我访问 DogUIViewController 然后导航到任何其他页面……第二次我单击 CatUIViewController 的选项卡,它神秘地首先显示 DogUIViewController 的数据,然后在大约 1 秒后切换到正确的数据。另一个奇怪的是,反过来也是一样的。</p>

<p>我一直在调查代码以查看可能是什么原因,但到目前为止我一无所获。就好像纠缠发生在 Xcode 中没有暴露给我的层:我查看了 Connections Inspector、<code>.h</code> 和 <code>.m</code> 文件,但我找不到到目前为止的任何事情。我希望这是我的一个简单的疏忽,所以我继续挖掘。但以防万一它不是并且其他人已经解决了类似的问题,我在这里问。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>虽然您不仅复制并粘贴了 UITableView,而且还复制并粘贴了 <code>.h</code> 和 <code>.m</code> 文件,但出错的可能性比比皆是。但我特别感兴趣的是你提到的差异只存在于头文件中。这对我来说意味着错误的可能原因是您的数据源。无论您在哪里获取数据,都需要一秒钟的时间,以便新数据延迟到足以让旧数据显示出来。所以我以一个问题结束我的回答:你是如何获取数据的?你在缓存数据吗?你在打扫属性(property)吗?例如,如果您使用服务器通知来更新 ViewController ,则不推荐使用 viewDidUnload,因此我不会使用它来取消注册通知。在任何情况下,您都是您的数据源。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - XCode5 中两个 UITableView 之间的奇怪纠缠,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/25538152/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/25538152/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - XCode5 中两个 UITableView 之间的奇怪纠缠