菜鸟教程小白 发表于 2022-12-13 09:47:37

ios - ViewController 在加载后不会更新


                                            <p><p>我有两个使用导航栏的 ViewController 。第一个 viewController 显示了我在第二个 viewController 上更改的一些数据。</p>

<p>因此,如果我加载第二个 viewController,NavBar 中会出现一个后退按钮,我可以更改我的值(并且它们<strong>已存储</strong>,我使用了调试器)。我的问题是,在点击返回按钮来到我的 firstViewController 后,它没有调用它的 <code>viewDidLoad</code> 方法。很明显,当不调用此函数时,根本没有更新值。</p>

<p>在第一次启动时,调用 <code>viewDidLoad</code> 方法并执行我希望它执行的操作。在 viewController 之间来回切换后,该方法不再被调用。</p>

<p>有什么解决办法吗?</p>

<p>谢谢!</p>

<p>编辑:</p>

<p><strong>已解决</strong></p>

<p>我不想删除我的问题,也许有人也需要这个:</p>

<p>每次 View 出现时都会调用这个方法,可能默认没有定义:</p>

<pre><code>-(void)viewDidAppear:(BOOL)animated
{
NSLog(@&#34;View appeared.&#34;);
}
</code></pre></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>但 <code>viewWillAppear</code> 中的更新代码(如 <code>[ setNeedsDisplay];</code>)。 </p>

<p>为了清楚起见:<code>viewDidLoad</code> 在你的 View 被加载时被调用。这发生在第一次显示 View 时。然后,当您导航到下一个 View 时,仍然可以加载第一个 View (取决于您的代码)。因此,当您导航回该 View 时,不会调用 <code>viewDidLoad</code>,因为该 View 仍然存在。 </p>

<p>但每次要显示 View 时(例如,当您导航回该 View 时)都会调用方法 <code>viewWillAppear</code> 和 <code>viewDidAppear</code>。</p >

<p>希望对您有所帮助。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - ViewController 在加载后不会更新,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/8212580/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/8212580/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - ViewController 在加载后不会更新