gpt4 book ai didi

ios - 放松 segue 永远放松

转载 作者:行者123 更新时间:2023-11-29 10:39:43 25 4
gpt4 key购买 nike

这是我的情况。

我有三个 View Controller ,Root、Pushed 和 Leaf。

Root 是栈中最低的。 “Pushed”被一个 push segue 插入了。 “Leaf”通过模态转场被放入堆栈。

Root 有这些例程:

-(IBAction) specialSegue:(UIStoryboardSegue*)segue {
// Do stuff.
}

-(void) viewWillAppear:(BOOL)animated {
}

在“Leaf”中,我正在调用将触发“specialSegue”的展开转场。这一切都有效。

完全奇怪的是,在调用“viewWillAppear”之前可能已经过去了几秒钟。我盯着屏幕,等待它放松。我知道“specialSegue”被调用了,我日志的 b/c。它会立即被调用。但实际的平仓可能要晚得多。有时,如果我再次点击屏幕,在一个甚至不是按钮的地方, View 就会展开并且 viewWillAppear 会被点击。

我想就是这样。非常感谢对此的任何帮助。

最佳答案

感谢 jrturton 和 Bruno。我无法解释,我向你保证,如果我设置断点,调试器会说我正在从主线程调用“performSegue...”。但是如果我这样结束调用:

    dispatch_async(dispatch_get_main_queue(), ^{
[self performSegueWithIdentifier:[self.segues objectAtIndex:row] sender:nil];
});

效果很好。看来我这里真的是在主线程,所以上面的代码应该是不需要的。但它确实解决了我的问题。所以我继续前进。

关于ios - 放松 segue 永远放松,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25140198/

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