gpt4 book ai didi

ios - IAP需要刷新View Controller View

转载 作者:行者123 更新时间:2023-11-28 22:00:18 25 4
gpt4 key购买 nike

我有 ViewController1ViewController2

如果您从 ViewController1 转到 ViewController2,在 ViewController2 上,您可以购买一个 IAP,它将在 ViewController1< 上显示一个按钮.

VC1 --> VC2,购买 --> VC1(应该显示购买解锁的按钮)

我遇到的问题是,当我从 ViewController2 返回时,按钮没有立即显示在 ViewController1 上。

它只有在我返回到 ViewController1 然后再次转到 ViewController2 然后返回到 ViewController1 后才有效。

VC1 --> VC2,购买 --> VC1(按钮 3 仍然隐藏)--> VC2 --> VC1(显示按钮 3)

我假设这会以某种方式刷新 View ,所以我试图弄清楚当我返回 ViewController1 时可以立即刷新它,而不是必须返回并去刷新它。

if(![[NSUserDefaults standardUserDefaults] boolForKey:@"Purchased3"]) {
buttonThree.hidden = TRUE;
labelThree.hidden = TRUE;
NSLog(@"Trying to talk to VC2, hides button/label 3 because there's not purchases");

} else {
//buttonThree.hidden = TRUE;
buttonThree.hidden = FALSE;
labelThree.hidden = FALSE;
NSLog(@"Trying to talk to VC2, doesn't hide button/label 3 because there has been a purchase");
}

感谢您的帮助,如果需要,将发布更多代码,或在需要时进行澄清!

VC1 --> VC2,购买 --> VC1(按钮 3 仍然隐藏)--> VC2 --> VC1(显示按钮 3)

最佳答案

问题可能是将值存储在 NSUserDefaults 中需要一些时间,并且当您返回到 ViewController1 时可能没有设置。

您可以通过 3 种方式解决问题:

1) 当成功购买 IAP 产品时,使用 [NSNotificationCenter defaultCenter] API 通知 ViewController1 它应该自行更新。

2) 你可以在 AppDelegate.h 中设置一个全局的 int 属性,这样你就可以很容易地立即看到最新的值(即使它还没有在 NSUserDefaults 中设置)。

3) 使用委托(delegate)模式。

关于ios - IAP需要刷新View Controller View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25342744/

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