gpt4 book ai didi

ios - 与 NSUserDefaults 和 NSArray 交互时崩溃

转载 作者:行者123 更新时间:2023-11-29 05:35:33 24 4
gpt4 key购买 nike

我有一个 NSMutableArray,我在其中添加目标并存储在用户默认值中,但在添加时崩溃了。

 if ([[NSUserDefaults standardUserDefaults] objectForKey:@"bssidObserverArray"]) {
bssidObserverArray = [[NSUserDefaults standardUserDefaults] objectForKey:@"bssidObserverArray"];
}

if (bssidObserverArray.count > 0) {
if (![bssidObserverArray containsObject:vendorID]) {
NSLog(@"bssidObserverArray %@",bssidObserverArray);
// In this line app is getting crashed
[bssidObserverArray addObject:vendorID];
[[NSUserDefaults standardUserDefaults] setObject:bssidObserverArray forKey:@"bssidObserverArray"];

}
}else{
[bssidObserverArray addObject:vendorID];
[[NSUserDefaults standardUserDefaults] setObject:bssidObserverArray forKey:@"bssidObserverArray"];
}

任何建议都会更有帮助。

最佳答案

假设bssidObserverArray是NSMutable数组,那么问题就在这里。

if ([[NSUserDefaults standardUserDefaults] objectForKey:@"bssidObserverArray"]) {
bssidObserverArray = [[NSUserDefaults standardUserDefaults] objectForKey:@"bssidObserverArray"];
}

因为 NSUserdefaults 返回不可变。你可以这样做

if ([[NSUserDefaults standardUserDefaults] objectForKey:@"bssidObserverArray"]) {
NSArray *someArray = [[NSUserDefaults standardUserDefaults] objectForKey:@"bssidObserverArray"];
bssidObserverArray = [someArray mutableCopy];

}

关于ios - 与 NSUserDefaults 和 NSArray 交互时崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57069284/

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