Objective C - 将 ref 传递给 NSData 或使用 NSMutableData 哪个更好

Objective C - What is better pass a ref to NSData or use NSMutableData

我正在开发一个 API,它 return 是一个给调用者的 NSData。我需要在函数参数中提供对象(而不是 return 值)。 首选以下哪种方法,为什么?

NSData* data;
[self foo1:&data];

-(BOOL)foo1:(NSData**)data {
  *data = [@"1234" dataUsingEncoding:NSUTF8StringEncoding];
  ...
}

NSMutableData* data = [[NSMutableData alloc] init];
[self foo2:data];

-(BOOL)foo2:(NSMutableData*)data {
  [data setData:[@"1234" dataUsingEncoding:NSUTF8StringEncoding]];
}

最好是异步响应:

- (void)fooWithCompletion:(void (^)(NSData *responseData, NSError *responseError))completion;

谢谢@Willeke。我将采纳您的建议 - 如果该方法添加数据,则使用 NSMutableData*,如果该方法创建数据,则使用 NSData**。