欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

oc 错误记录

程序员文章站 2022-05-31 11:39:08
...

1.copy与strong的使用问题:

#import "ViewController.h"

@interface ViewController ()

@property(nonatomic,copy)NSMutableArray *testMutableArray;
@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
//    NSMutableArray *test = [[NSMutableArray alloc]init];
    self.testMutableArray = [[NSMutableArray alloc]init];
    
    [self.testMutableArray addObject:@"hahe"];
    
    NSLog(@"%@",self.testMutableArray);
}

先走viewDidLoad,后走property;一般array,string都是用copy修饰,这是为了防止赋值给他的数据是可变数据,如果可变的数据发生了变化,那么该property也会发生变化。所以编译时是可变数组,运行时是不可变数组,调用addobject方法会报错,此处copy改为strong不会出错;