菜鸟教程小白 发表于 2022-12-12 15:59:00

iphone - ViewController 数据共享


                                            <p><p>所以我有两个 ViewController ,当应用加载时我会在应用委托(delegate)上加载它们。一个用于登录页面,其中我有用户名和密码,另一个是 UITabBarViewController。用户登录后,我只是删除了登录 View ,因此显示了 UITabBarViewController。问题是在我的 UITabBarViewController 中,我需要 ViewController 的用户名和密码。我该如何解决这个问题?</p>

<p><strong>附加信息:</strong></p>

<p>这基本上是我想做的:</p>

<ul>
<li>应用程序以登录页面开始:用户 ID、密码和登录按钮</li>
<li>点击登录按钮,验证凭据后,我们必须将用户带到下一个屏幕</li>
<li>顶部的导航栏(本质上是 UINavigationController)</li>
<li>表格 View </li>
<li>底部的标签栏</li>
</ul>

<p>现在登录后,我希望 UITabBarViewController 中的所有 ViewController 都能够获取用户在第一个登录屏幕中输入的用户名和密码。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>我认为最好的设计是让标签栏的 Controller 呈现一个用于登录的模态视图 Controller 。然后, Controller 选项卡栏将成为 LoginViewController 的委托(delegate),并且 LoginViewController 将在登录完成时通知其委托(delegate)。当登录成功完成后,标签栏的 Controller 可以关闭 LoginViewController。 </p>

<p>现在我在您更新答案后编写了此代码。您可以弄清楚如何自己添加 UINavigation 栏和表格 View 。问题是关于在 ViewController 之间传递数据而不是我回答如何一起通过一堆 View 。如果您想了解更多关于将多个 View 和 Controller 组合在一起以形成一个完整的应用程序的信息,我强烈推荐斯坦福大学的 iTunes U 类(class)。 </p>

<p>我提供了一个完整、完整且有效的示例,演示了如何正确使用委托(delegate)在 LoginViewController 和 UIViewController 之间共享数据(在您的情况下,UIViewController 将被您的标签栏 Controller 替换)。我还演示了如何使用 NSUserDefaults 来保存可以从其他地方访问的数据是应用程序。</p>

<p>示例的所有代码都可以找到<a href="https://bitbucket.org/evanlong/iphone-learning/src/efb59154991d/SimpleViewWithLogin/" rel="noreferrer noopener nofollow">here</a> .</p></p>
                                   
                                                <p style="font-size: 20px;">关于iphone - ViewController 数据共享,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/5000023/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/5000023/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iphone - ViewController 数据共享