加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – 初始化NSMutableArray时使用短语法是否正确?

发布时间:2020-12-16 09:47:53 所属栏目:百科 来源:网络整理
导读:通常当我们想要初始化NSMutableArray时,我们使用: NSMutableArray *mArr = [[NSMutableArray alloc] initWithObjects: @"one",@"two",@"three",nil]; 但是,使用如下语法是否正确: NSMutableArray *mArr = @[@"one",@"three"].mutableCopy; 据我所知,它的工
通常当我们想要初始化NSMutableArray时,我们使用:

NSMutableArray *mArr = [[NSMutableArray alloc] initWithObjects: @"one",@"two",@"three",nil];

但是,使用如下语法是否正确:

NSMutableArray *mArr = @[@"one",@"three"].mutableCopy;

据我所知,它的工作时间会延长几个纳秒.但我认为第二种方式更具可读性,我已经准备好牺牲那些纳秒.

使用这种结构可以吗? ARC是否清理了那些未使用的NSArray,我正在使用它来获取可变副本?这不是泄漏吗?

解决方法

But I think the second way to be way more readable

就个人而言,我发现它更令人困惑,甚至更令人困惑,因为你使用mutableCopy就好像它是一个属性.正确,正确,但完全误导恕我直言.

为什么不利用继承?

NSMutableArray *ma = [NSMutableArray arrayWithObjects:@"foo",@"bar",nil];

有时,默认情况下可变的集合会更有用. *叹气*

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读