gpt4 book ai didi

iphone - NSInternalInconsistencyException 原因 : '-[__NSCFArray replaceObjectAtIndex:withObject:]: mutating method sent to immutable object'

转载 作者:行者123 更新时间:2023-12-01 17:26:21 25 4
gpt4 key购买 nike

你能帮我解决以下错误吗:

由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“-[__NSCFArray replaceObjectAtIndex:withObject:]: mutating method sent to immutable object”

array_Info = [[NSMutableArray alloc] init];
array_Info = [dict_Temp objectForKey:@"Children"];

NSMutableArray *temp = [[NSMutableArray alloc] initWithArray:self.array_Info];

int ran, arrayIndexing = 0;
while ([temp count] != 0)
{
ran = arc4random();
if(ran < 0)
ran*=-1;
ran = ran % [temp count];

if([temp count] == 1)
ran = 0;

NSLog(@"%d %d",arrayIndexing,ran);

[self.array_Info replaceObjectAtIndex:arrayIndexing withObject:[temp objectAtIndex:ran]];

[temp removeObjectAtIndex:ran];
arrayIndexing++;
}

最佳答案

假设 array_Infoself.array_Info 的支持变量属性,您应该将第二行更改为:

array_Info = [[dict_Temp objectForKey:@"Children"] mutableCopy];

这将为您提供 replaceObjectAtIndex:withObject: 所需的可变数组称呼。

关于iphone - NSInternalInconsistencyException 原因 : '-[__NSCFArray replaceObjectAtIndex:withObject:]: mutating method sent to immutable object' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15979862/

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