XCODE不兼容指针类型错误

时间:2012-02-14 05:53:18

标签: iphone xcode casting

我收到了投射错误。我的应用程序正在使用'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]);

我收到以下错误消息: ARC“

不允许将Objective-C指针隐式转换为'CFStringRef'(又名'const struct __CFString *')

我认为它可能是编译器选项,但将其更改为默认值并没有什么不同。任何人都可以提供任何见解吗?

1 个答案:

答案 0 :(得分:2)

将NSString *强制转换为CFStringRef以满足ARC:

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

这里的__bridge关键字让ARC知道它不需要转移字符串的所有权。