gpt4 book ai didi

ios - 将 NSString[] 粘贴到 NSArray 中

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:29:40 25 4
gpt4 key购买 nike

为什么我不能将 NSString[] 粘贴到 NSArray 中?我收到以下错误“ARC 不允许将指向 Objective-C 指针的间接指针隐式转换为‘id’”

代码如下:

NSString *s1, *s2;
NSString *cArray[]={s1, s2};
NSMutableArray *dataArray = [[NSMutableArray alloc] init];
[dataArray addObject:cArray];

最佳答案

你不能这样做,因为 cArray 的所有权不能转移。

如果它是一个局部变量,它会在其作用域结束后立即消失,从而使您的可变数组带有悬空引用。

即使是全局的,也会有问题,因为你的 NSMutableArray 不知道如何正确释放 C 数组。

Objective C 想要尽可能地保护你免受这种情况的影响,提供像 NSArray 这样的好类来让你的工作更轻松:

NSMutableArray *dataArray = [NSMutableArray array];
NSString *s1 = @"hello", *s2 = @"world";
// You can choose another constructor as you see fit.
NSArray *cArray = @[s1, s2];
[dataArray addObject:cArray];

关于ios - 将 NSString[] 粘贴到 NSArray 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19235179/

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