gpt4 book ai didi

objective-c - 如何在 objective-c 中使用NSArray对象的NSArray?

转载 作者:技术小花猫 更新时间:2023-10-29 11:21:10 30 4
gpt4 key购买 nike

我在 .h 文件中声明了一个 NSArray 对象

@property (nonatomic, assign) NSArray  *scnArray;

- (void)viewDidLoad 下的 .h 文件中,我创建了三个不同的 NSArray 对象作为

NSArray  *obj1 = [[NSArray alloc] initWithObjects:@"1",@"0",@"0",nil];
NSArray *obj2 = [[NSArray alloc] initWithObjects:@"0",@"3",@"0",nil];
NSArray *obj3 = [[NSArray alloc] initWithObjects:@"0",@"0",@"5",nil];

scnArray = [[NSArray alloc] initWithArray:obj1];
[scnArray arrayByAddingObjectsFromArray:obj2];
[scnArray arrayByAddingObjectsFromArray:obj3];

如果我从任何其他函数访问这个 scnArray

NSArray *caseArray = [scnArray objectAtIndex:index];//index 将为 0, 1, 2...

我收到 BAD_ACCESS_ERROR。这里有什么问题,我该如何更正才能使用它?

最佳答案

试试这个:

NSArray  *obj1 = [[NSArray alloc] initWithObjects:@"1",@"0",@"0",nil];
NSArray *obj2 = [[NSArray alloc] initWithObjects:@"0",@"3",@"0",nil];
NSArray *obj3 = [[NSArray alloc] initWithObjects:@"0",@"0",@"5",nil];

scnArray = [[NSArray alloc] initWithArray:obj1];
scnArray = [scnArray arrayByAddingObjectsFromArray:obj2];
scnArray = [scnArray arrayByAddingObjectsFromArray:obj3];

arrayByAddingObjectsFromArray: 函数将数组 B 中的所有对象添加到数组 A,并返回结果(= 包含 A 和 B 的元素的数组)。

因此,您应该简单地获取该结果...:-)

重要: scnArray 必须是一个 NSMutableArray 数组,而不是一个 NSArray(它正在改变,对吗? );所以确保你也编辑了那部分......

还: NSArray *caseArray = [scnArray objectAtIndex:index]; - 这没有任何意义。将数组设置为 scnArray 的元素?它不包含数组,对吗?它只包含那些数组的元素(我们添加的)...

关于objective-c - 如何在 objective-c 中使用NSArray对象的NSArray?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9974199/

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