2013-06-08 3 views
-1

Когда я использую этот кусок кода:Objective-C инициализирует структуру MutableData

NSMutableData *stringMutableData = [[_inputMessageField stringValue] dataUsingEncoding:NSUTF8StringEncoding]; 

Я всегда получаю предупреждение:

Несовместимые типы указателей инициализации «NSMutableData *» с выражением типа «NSData * '

Однако код работает безупречно. Может ли кто-нибудь объяснить мне, почему это сообщение появляется и как я буду правильно его кодировать?

ответ

1

В коде

[[_inputMessageField stringValue] dataUsingEncoding:NSUTF8StringEncoding]

возвращает NSData *.

Пока вы назначаете его MutableData.

Вы можете изменить любой из них, чтобы получить предупреждение.

NSData *stringData = [[_inputMessageField stringValue] dataUsingEncoding:NSUTF8StringEncoding]; 

или

NSMutableData *stringMutableData = [[[_inputMessageField stringValue] dataUsingEncoding:NSUTF8StringEncoding] mutableCopy]; 
+0

Большое спасибо! – user2466003

Смежные вопросы