Ошибка типа несовместимого указателя XCODE - PullRequest
0 голосов
/ 14 февраля 2012

Я получаю ошибку приведения. Мое приложение читает текстовый файл с веб-страницы, используя метод stringWithContentsOfURL. Я хочу разобрать отдельные строки на отдельные компоненты. Это фрагмент кода.

  int parameterFive_1   = 0;
  parameterFive_1_range = NSMakeRange(0,10)
  lines                 = [response componentsSeparatedByString:@"\r"];

  parameterFive_1 = CFStringGetIntValue([[lines objectAtIndex:i] substringWithRange:parameterFive_1_range]);

Я получаю следующее сообщение об ошибке: "Неявное преобразование указателя Objective C в 'CFStringRef' (также называемое const struct __CFString * ') запрещено с помощью ARC"

Я подумал, что это может быть опция компилятора, но изменение его по умолчанию не имеет значения. Кто-нибудь может дать какое-либо понимание?

1 Ответ

2 голосов
/ 14 февраля 2012

Просто приведите NSString * к CFStringRef для удовлетворения ARC:

parameterFive_1 = CFStringGetIntValue((__bridge CFStringRef)[[lines objectAtIndex:i] substringWithRange:parameterFive_1_range]);

Ключевое слово __bridge здесь позволяет ARC знать, что ему не нужно передавать право собственности на строку.

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