2012-02-14 52 views
0

我收到了投射錯誤。我的應用正在使用'stringWithContentsOfURL'方法從網頁中讀取文本文件。我想將各個行解析爲單獨的組件。這是代碼的一部分。XCODE不兼容的指針類型錯誤

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的結構__CFString *')的隱式轉換是不允許與ARC」

我認爲這可能是編譯器選項,但將其更改爲默認值沒有什麼區別。誰能提供任何見解?

+0

將[Objective-C指針類型'NSString *'強制轉換爲C指針類型'CFStringRef'(又名'const struct __CFString *')需要橋接轉換](http://stackoverflow.com/questions/ 6725558 /鑄造的目標-C-指針型的NSString到C-指針型cfstringref-a)的 – Caleb 2012-02-14 06:09:49

回答

2

只投中的NSString *到CFStringRef滿足ARC:這裏

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

__bridge關鍵字可以ARC知道它並不需要轉移字符串的所有權。