- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
请帮我解决这个问题。如图所示,我创建了一个具有两个 View 的简单项目。我附上了 Storyboard和 swift 文件的图像。所以,我读到 viewdidload 在将 View 加载到内存中时只会执行一次。但是,当我从第二个 View 转换到第一个 View 时,viewdidload 再次执行,viewdidload 方法中的打印语句也是如此。
最佳答案
viewDidLoad
不会为应用程序调用一次。当 View 保存内存并加载时,它会为该 viewController 调用一次。
所以你推送到 viewController 的次数越多,它就会调用 viewDidLoad
viewDidLoad()
— 当 View Controller 的内容 View (顶部它的 View 层次结构)被创建和加载
viewWillAppear()
— 用于您希望始终执行的任何操作在 View 变得可见之前发生。
有关此内容的更多信息,请查看链接:https://developer.apple.com/library/content/referencelibrary/GettingStarted/DevelopiOSAppsSwift/Lesson4.html
所以如果 View 已经在内存中(像你的情况),那么不需要再次推送,只需要通过这段代码弹出
self.navigationController?.popViewControllerAnimated(true)
关于ios - IOS 中的 viewDidLoad 与 ViewWillAppear,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40211547/
我将我的 iAd/AdMob 广告代码放在... -(void)viewWillAppear:(BOOL)animated{} 广告在所有 iOS 设备上的效果都很好,就像我现在使用的那样。当我将我的
我最近对 iOS View Controller 包含感到头疼。 一切都按预期工作,除了一种特殊情况: 如果父 View Controller 包含在父 View Controller 中,而父
我有 UIScrollView 和多个 UIVIew subview 。我想更新每个 UIView 显示在 UIScrollView 的可见部分中时显示的数据。 触发的回调是什么?我尝试了 viewW
这个问题在这里已经有了答案: Why does viewWillAppear not get called when an app comes back from the background? (7
我正在使用 NSUserDefaults使一个对象在多个 UIViewController 之间保持同步UITabbarController 中使用的 s .为此,我正在实现以下 - (void)vi
我读过许多关于人们在 正确创建 View 层次结构时遇到 viewWillAppear 问题的帖子。我的问题是我不明白那是什么意思。 如果我创建一个 RootViewController 并在该 Co
当 B ->present ->C 时,它自动调用 viewWillAppear,但是当我从 C 解除到 B 并再次 B ->present ->C 时,viewWillAppear 在我触摸屏幕后调
我正在使用 Storyboard在 iOS 7 上编写应用程序。 我有一个导航 Controller 作为我的 Root View Controller ,我在其中嵌入了一个 View Control
我有一个加载记录的表格 View ,请参阅下面的代码: - (void)viewDidLoad { self.navigationItem.title=@"Accounts"; // N
在我的应用程序中,我的 View 中输入字段中的数据不断变化,因此每次将 View 显示到屏幕上时,我都需要运行一个函数来对显示的内容进行排序。 我找到了 -(void)viewWillAppear,
我有一个嵌入在导航 Controller (NAV1) 中的 View Controller (VC1)。在它的 viewWillAppear 方法中,我调用以模态方式呈现另一个 View Contr
我正在使用“viewWillAppear”来检查 UserDefaults.standard,如果我有关于默认值的数据,我想重定向到仪表板 View 并退出登录。 当我正确登录时,应用程序正常重定向,
我的 ViewWillAppear 方法中有这段代码,它只是将一组标签向下移出屏幕: override func viewWillAppear(animated: Bool) { super.
我的应用程序的工作流程是,当我失去连接时,我将应用程序重定向到特定的 viewController,然后在 viewWillAppear 上我做一些处理。 在 foreground 模式下,这非常有效
我已经设置了一个基本的测试应用程序,它显示一个包含标签的 View ,没有使用 IB。我想使用自定义 UIView 子类和自定义 UIViewController 子类。 这将按预期运行,但 MyVi
我有以下设置 只有横向 View 的 XIB 文件。此 View 连接到我的 Controller 此 View 上有一个标签连接到 IBOutlet UILabel* label 这个标签是这样配置
根据我的统计,调用 viewWillAppear 的唯一两个实例是当您初始化 View Controller 时,或者当您在导航堆栈上弹出位于其顶部的 View Controller 时(即向前插入
我有这个 View Controller class ViewController: UIViewController { override func viewWillAppear(animated
我读过许多关于人们在 正确创建 View 层次结构时遇到 viewWillAppear 问题的帖子。我的问题是我不明白那是什么意思。 如果我创建一个 RootViewController 并在该 Co
我正在编写一个应用程序,如果用户在打电话时正在查看应用程序,我需要更改 View 。 我已经实现了以下方法: - (void)viewWillAppear:(BOOL)animated { [
我是一名优秀的程序员,十分优秀!