gpt4 book ai didi

ios - 无法通过 Signal SIGABRT 崩溃将数据保存在 NSUserDefaults 中

转载 作者:塔克拉玛干 更新时间:2023-11-02 10:30:56 24 4
gpt4 key购买 nike

我试图在一个循环中将 NSData 保存到 NSUserDefaults 中,但我经常遇到错误。

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *index = [NSString stringWithFormat:@"alltweetsoftrend%d", i];
[defaults setObject:tweetData forKey:index];

[defaults synchronize];

其中 i 是循环的索引,这意味着 key 在任何情况下都不为 null。我还检查了我的 NSData(tweetData),这也不为空。我只是在保存时遇到此错误。

最佳答案

您的代码本身没有任何问题。 NSData 有可能太大而无法存储,但在那种情况下我真的不希望出现 SIGABRT。最可能的问题是 NSData 是使用 [NSData dataWithBytesNoCopy:length:] 创建的,并且 NSData 指向的缓冲区已被释放。也可能有其他问题导致该问题,例如在线程之间使用共享的 NSData 全局变量、来自 CFDataRefs 的类型转换不正确等。

尝试编写不同的 NSData 并查看它是否有效。例如:NSData *tweetData = [NSData dataWithBytes:"Hello"length:6];。我敢打赌这行得通,所以问题与如何创建 tweetData 并将其发送到这段代码有关。

关于ios - 无法通过 Signal SIGABRT 崩溃将数据保存在 NSUserDefaults 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37548396/

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