2017-09-10 60 views
-2

我正在(重新)在基於10.5 SDK的10.6.8 VM的XCode 3.2.6 64位下爲目標c編寫一個項目(爲了兼容10.5及更高版本 - 所以這是給定的)。構建是起來和工作。但。我正試圖解決這個項目中的最後四個警告。他們都是一樣的警告。具體而言...已棄用NSString方法,但替換不在那裏?

在該項目中,有四個ASCII c字符串需要轉換爲四個相應的目標c的NSString實例。有四個基本相同的情況。這是它是如何正在做:

[tf setStringValue: [NSString stringWithCString: strg]] 

這工作,但結果(四)個警告,stringWithCString is deprecated,並進一步尋找,我發現距今約10.4這一直是如此。所以我期望10.5 SDK有任何需要的替換。

望着文檔,建議更換:

[tf setStringValue: [NSString stringWithCString:NSASCIIStringEncoding: strg]] 

然而,這是使用時的XCode說:

'NSString' may not respond to '+stringWithCString::' 

這可能意味着它真的不會迴應。而且,即使這樣做,用另一個替換一個警告.... yech。

任何人都知道我應該做什麼不同?我意識到這是舊的,舊的東西,但是當然,Back In The Day的人們並不只是讓這些警告混亂了他們的構建?我剛剛在這裏遇到了某種語法錯誤,或者...?

回答

3

[NSString stringWithCString:NSASCIIStringEncoding: strg]

調用this method正確的語法是:

[NSString stringWithCString:strg encoding:NSASCIIStringEncoding] 
相關問題