ios - 为什么我的 ViewDidLoad 每次都加载?
<p><p>我正在创建一个实现 FB 登录的应用程序。所以我在 ViewController.m 文件的 ViewDidLoad 中编写了一个 FBLogin 按钮代码。</p>
<pre><code>- (void)viewDidLoad {
;
// Do any additional setup after loading the view, typically from a nib.
FBSDKLoginButton *loginButton = [ init];
loginButton.center = self.view.center;
;
}
</code></pre>
<p>但是当我运行这段代码时。 fb按钮出现在我的应用程序的所有页面中,这意味着我的viewController.m每次都会调用ViewDidLoad方法。为什么?
我正在寻找最后 4 小时的解决方案,但还没有得到任何结果。
请帮帮我。</p></p>
<br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
<p><p>正如你所说,你的 ViewController 继承自这个 ViewController ,因此每个调用 <code></code> 的 ViewController 都会执行这个方法。 (解决方案不是删除 <code>super</code> 调用)。</p>
<p>除了创建这个 ViewController 和其他每个 ViewController 都继承自这个之外,你可以:</p>
<ul>
<li>创建一个 <code>CommonViewController</code> 来实现 ViewController 之间的所有通用功能</li>
<li>创建一个 <code>FacebookLoginViewController</code>,它也继承自 <code>CommonViewController</code>。</li>
</ul>
<p>因此,您的继承树如下所示:</p>
<pre><code>CommonViewController
/ \
/ \
/ \
FacebookLoginVC OtherViewControllers
</code></pre>
<p>代替:</p>
<pre><code>ViewController (which is equivalent to FacebookViewController)
|
|
|
OtherViewControllers
</code></pre></p>
<p style="font-size: 20px;">关于ios - 为什么我的 ViewDidLoad 每次都加载?,我们在Stack Overflow上找到一个类似的问题:
<a href="https://stackoverflow.com/questions/30118585/" rel="noreferrer noopener nofollow" style="color: red;">
https://stackoverflow.com/questions/30118585/
</a>
</p>
页:
[1]