当我使用这段代码时:
NSMutableData *stringMutableData = [[_inputMessageField stringValue] dataUsingEncoding:NSUTF8StringEncoding];
我总是收到警告:
不兼容的指针类型初始化' NSMutableData *'表达类型为' NSData *'
然而,代码似乎完美无瑕。有人可以向我解释为什么会显示此消息以及我将如何正确编码它?
答案 0 :(得分:1)
在您的代码中
[[_inputMessageField stringValue] dataUsingEncoding:NSUTF8StringEncoding]
返回NSData *
。
当您将其分配给MutableData时。
您可以更改其中任何一项以获取警告。
NSData *stringData = [[_inputMessageField stringValue] dataUsingEncoding:NSUTF8StringEncoding];
或
NSMutableData *stringMutableData = [[[_inputMessageField stringValue] dataUsingEncoding:NSUTF8StringEncoding] mutableCopy];