gpt4 book ai didi

objective-c - NSArray 解析有什么不同?

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

下面代码段中Parsing的区别是什么。哪些代码段在解析中更快?

NSArray *arr = [[NSArray alloc] initWithObjects:@"Apple",@"Macbook", nil];

NSMutableArray *data = (NSMutableArray *)arr;

(和)

NSArray *arr = [[NSArray alloc] initWithObjects:@"Apple",@"Macbook", nil];

NSMutableArray *data = [NSMutableArray arrayWithArray:arr];

最佳答案

你在两个片段中都有同样的错误,你为对象分配了内存,然后为数据分配了其他东西,这让你失去了之前的(并且有内存泄漏),例如这个:

NSMutableArray *data = [[NSMutableArray alloc] init];
data = [NSMutableArray arrayWithArray:arr];

应该是

NSMutableArray *data = [NSMutableArray arrayWithArray:arr];

现在是问题本身:

  1. 第一种情况是个坏主意,你转换了 NSArray,但你不能修改它,因为你并没有真正改变它的类型,只是将它分配给 NSMutaleArray 指针。

  2. 第二种情况将创建一个新的可变 NSMutableArray,其中包含 NSArray 的内容,这很酷,您现在可以更改此数组。

关于objective-c - NSArray 解析有什么不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10233486/

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