2017-01-12 9 views
-1

I want read address book avatar,but it's CFData class,How to convert into NSData class литая из «неуправляемого <CFData>! Несвязанным типа«NSData»всегда терпит неудачу

Я хочу, чтобы прочитать адресную книгу аватар, но это класс CFData, как преобразовать в класс NSData

+2

Добро пожаловать в переполнение стека! Измените свой вопрос, чтобы опубликовать [минимальный код, воспроизводящий проблему, о которой вы просите] (http://stackoverflow.com/help/mcve). Это даст нам больше шансов помочь, не прося разъяснений. – koceeng

+0

Учтите, что 'ABAddressBook' устарел. – vadian

ответ

0

Скажем, у вас есть a: A , Кастинг a as B может работать только если

  • A является подтипом B (компилятор поймет, что этот случай всегда работы) или
  • B является подтипом A (который может работы, в зависимости по фактическому типу a).

Вы пытаетесь использовать между типами, которые не имеют такого отношения («несвязанный тип»).

Будьте осторожны с as!, тоже. Это говорит компилятору: «Я знаю, что это сработает, не беспокойтесь об этом!». Если окажется, что вы ошибаетесь (или просто пытаетесь обойтись, имея дело с опциональным as, это даст вам), вы получите ошибку времени выполнения, которую вы всегда должны стараться избегать.