передача аргумента 1 из addObject: отбрасывает квалификаторы из целевого типа указателя - PullRequest
0 голосов
/ 28 апреля 2011

Я использую ABAddressbook. Я создал ABRecordref. Я хотел бы добавить его в изменяемый массив. Он успешно добавлен. Но есть предупреждение

предупреждение

передача аргумента 1 в addObject: отбрасывает квалификаторы из целевого типа указателя

Дайте мне знать причину этого предупреждения и, пожалуйста, дайте мне решение для этого. Заранее спасибо

1 Ответ

0 голосов
/ 28 апреля 2011

ABRecordRef не является типом объекта.это непрозрачный тип, typedeffed как void*.

, в этих случаях вы должны привести его к соответствующему совместимому типу.например, NSString и CFString являются бесплатными мостовыми соединениями - безопасно привести их к их эквивалентам ns / cf.

документация гласит, что ABRecordRef является бесплатным для мостов с ABRecord, так что вынапишите это:

ABRecordRef record = MONGetTheRecord(arg);
[array addObject:(ABRecord*)record];
...

, чтобы правильно привести его к типу objc (который addObject: принимает в качестве аргумента).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...