首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >iOS函数类似ti viewDidLoad()

iOS函数类似ti viewDidLoad()
EN

Stack Overflow用户
提问于 2016-11-05 15:56:54
回答 2查看 139关注 0票数 1

我搜索一个非常类似于iOS ()的函数(包括在viewDidLoad()或外部库中)。区别应该是,只有当应用程序第一次启动时才会使用搜索的函数,这意味着当用户打开应用程序时。每次加载视图时都使用ViewDidLoad()。但是,只有在运行时首次加载视图时,才会使用已搜索的函数xy()。

这是普通版本的

用户打开应用程序,视图1打开-> ViewDidLoad()视图1 ->用户打开视图2.->用户返回到视图1的-> ViewDidLoad()

I搜索这个

用户打开应用程序,视图1打开视图1的-> ViewDidLoad(),->用户打开视图2.->用户返回到View 1 -> ViewDidLoad() of View 1(这次不是函数xy(),因为视图已经加载在这个运行时中)

谢谢你的帮忙!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-11-05 16:14:16

您可以将需要运行一次的代码放在dispatch_once块中,用于obj-c,并使用static var表示

Obj-c:

代码语言:javascript
运行
复制
- (void)viewDidLoad
{
    [super viewDidLoad];

    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        // code you place here will run once
    });
}

Swift 3

代码语言:javascript
运行
复制
static var didInit = false

override func viewDidLoad() 
{
    super.viewDidLoad()

    if MyClass.didInit == false {
        MyClass.didInit = true
        // code you place here will run once
    }
}
票数 1
EN

Stack Overflow用户

发布于 2016-11-05 16:02:29

你试过了吗

代码语言:javascript
运行
复制
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40440262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档