gpt4 book ai didi

ios - 错误 : Trying to put the stack in unreadable memory at: 0x7ffeeafe2af0 : using userDefaults

转载 作者:行者123 更新时间:2023-11-28 19:26:20 29 4
gpt4 key购买 nike

我正在用 objective-c 做一个项目,我必须在 userDefaults 中存储一些值。我已经在同一个项目中做了同样的事情。它工作正常,但现在我试图在 userDefaults 中添加一些值,它在从 userDefaults 获取任何数据时显示错误。我将数据添加为,

  NSString *  totalBitValue = [NSString stringWithFormat:@"%.6f Bit",
totalValue /
[[[NSUserDefaults standardUserDefaults] objectForKey:@"Bit"] floatValue]];

[[NSUserDefaults standardUserDefaults]setObject:totalBitValue forKey:@"totalBTCValue"];
[[NSUserDefaults standardUserDefaults]setFloat:totalUSDValue forKey:@"totalUsedValue"];

[[NSUserDefaults standardUserDefaults] synchronize];

错误为 ,

error: Trying to put the stack in unreadable memory at: 0x7ffeeafe2af0

我在以下行中收到错误,

 if( [[NSUserDefaults standardUserDefaults] objectForKey:@"CoinValue"] != nil) {
[[self ValueLabel] setText: [NSString stringWithFormat:@"%@", [[NSUserDefaults standardUserDefaults] objectForKey:@"CoinValue"] ]];
}

任何人都可以帮助我。提前致谢

最佳答案

你的问题的原因是因为你的代码得到了递归。

据我了解,您使用 NSNotificationCenter 来观察者键 NSUserDefaultsDidChangeNotification。因此,每当 NSUserDefaults 更新时,它都会触发 defaultsChanged 方法。但在其中,您继续更改 NSUserDefaults,为 totalBTCValuetotalUSDValue 设置新值(我猜)这使得 defaultsChanged 被再次调用并导致递归。

要解决此问题,您不应在 defaultsChanged 方法中更新 NSUserDefaults

关于ios - 错误 : Trying to put the stack in unreadable memory at: 0x7ffeeafe2af0 : using userDefaults,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55529754/

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