NSMutableData---setData方法

OC里面
对于NSMutableData来说setData和直接赋值是有很大区别的

NSMutableData *data = [[NSMutableData alloc]init];
[data setData:nil];

代码执行完后data并不会为nil

03E86F0D-5E96-414E-9029-A282EA5213D2

然而如果直接使用代码data = nil;的话则会完全不一样

NSMutableData---setData方法_第1张图片
0D25BEDD-B2C8-47CB-BE34-E862D528C60D

之前在做聊天项目的时候就是不小心使用了data = nil;,导致后续data没有初始化无法接收到数据。

思考1

对于NSMutableDictionaryNSMutableArrayNSMutableString都会有相似的情况

思考2

对于swift则不存在这样的问题,swift是强类型,会直接抛出警告


3A82CB64-F2EA-46CF-A4A0-D5252DC18E54.png

你可能感兴趣的:(NSMutableData---setData方法)