gpt4 book ai didi

cocoa-touch - willAnimateRotationToInterfaceOrientation 在 vi​​ewWillAppear 之前被调用

转载 作者:行者123 更新时间:2023-11-29 05:07:08 25 4
gpt4 key购买 nike

我刚刚发现我的 iOS 应用程序发生了崩溃,它与在 viewWillAppear 之前调用 willAnimateRotationToInterfaceOrientation 有关。

我有一个有两个 View 的应用程序。基本上,当 view1 消失时,我释放一些数组,假设它们重新出现在 viewWillAppear 中时将被重新初始化。

但是,如果我更改 view2 中的方向然后切换回 view1,这会导致 willAnimateRotationToInterfaceOrientation 在 vi​​ew1 调用 viewWillAppear 并重新初始化所有内容之前发生,从而导致崩溃。

有什么方法可以延迟 willAnimateRotationToInterfaceOrientation 直到 View 出现并且所有内容都已重新初始化之后吗?

如果没有,我能看到的唯一解决方案是要么不使用 willAnimateRotationToInterfaceOrientation (这会导致看起来难看的方向变化),要么当我从 view1 切换到 view2 时不释放我的数据,这会导致使用超过必要的内存。

有人对我应该做什么有什么想法吗?

最佳答案

您可以使用延迟加载样式代码来避免您的问题,例如:

NSArray* someData;


-(void)somefun1{

if (!someData) {

[self loadData];
}

//use your data
}

-(void)somefun2{

if (!someData) {

[self loadData];
}

//use your data

}

-(void)loadData{
//some loading code
}

使用延迟加载样式代码,您永远不需要介意事件调用顺序。

关于cocoa-touch - willAnimateRotationToInterfaceOrientation 在 vi​​ewWillAppear 之前被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4486943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com