美文网首页
iOS 细节整理

iOS 细节整理

作者: 114105lijia | 来源:发表于2020-05-25 09:10 被阅读0次

1、申明属性时,NSMutableArray用copy修饰还是strong修饰?

应该用strong修饰。用copy有可能会导致闪退,因为copy一个可变对象后,就变为不可变对象了。在执行增、删、改操作时,会引起闪退。
可以自己测试下面代码:

@property (nonatomic, copy) NSMutableArray *aArray;
@property (nonatomic, strong) NSMutableArray *bArray;

- (void)test {
    NSMutableArray *cArray = [NSMutableArray array];
    [cArray addObject:@"a"];
    
    self.aArray = cArray;
    self.bArray = cArray;
    
    NSLog(@"-----%@",[self.aArray class]);
    NSLog(@"-----%@",[self.bArray class]);
    
    [self.bArray removeAllObjects];
    [self.aArray removeAllObjects]; //闪退
}

相关文章

网友评论

      本文标题:iOS 细节整理

      本文链接:https://www.haomeiwen.com/subject/jrueahtx.html