问题:NSMutableArray 声明为 copy 属性参数后即使接受NSMutableArray变量依然为NSArray变量

测试:

属性申明为:

1
@property (nonatomic, copy) NSMutableArray *data;

1
self.data = [[NSMutableArray alloc] init];

或者接受一个NSMutableArray变量时候

1
2
3
4
      if (![self.data isKindOfClass: [NSMutableArray class]])
        {
            // 依然判断为非NSMutableArray,实际上通过copy后都将转换为NSArray后返回。
        }

可参考如下:
http://stackoverflow.com/questions/14856681/why-does-a-copy-nonatomic-nsmutablearray-property-create-nsarrays

05-03 23:28