2017-09-10 7 views
-2

10.5 SDKに基づいた10.6.8 VMの下で、XCode 3.2.6 64ビットで目的コードcで書かれたプロジェクトをビルドしています(これは10.5以降の互換性のためです)。仕事と仕事。しかし。私はこのプロジェクトの最後の4つの警告に対処しようとしています。それらはすべて同じ警告です。特に...NSStringメソッドは廃止されましたが、置き換えられませんでしたか?

このプロジェクトでは、目的のcのNSStringの4つの対応するインスタンスに変換する必要がある4つのASCII文字列があります。 4つの本質的に同一の場合がある。これは、それが行われています方法です:

[tf setStringValue: [NSString stringWithCString: strg]] 

これは動作しますが、結果stringWithCString is deprecatedとをさらに探していることを警告(4)で、私は、約10.4以来真となっています見つけます。だから、私は10.5 SDKの交換が必要なものを持っていると思うだろう。

はドキュメントを見てみると、提案の交換は次のとおりです。ただし

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

、これを使用する場合、Xcodeは言う:おそらくそれは本当に応答しないことを意味します

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

を。それに加えて、たとえそれがあっても、一つの警告を別のものに置き換えれば...。

私は何をすべきかを知っていますか?私はこれが古いものであることを認識していますが、確かにBack In The Dayの人々は、これらの警告がビルドを乱雑にしてしまうのではありませんでしたか?ここで何らかの構文エラーが発生しましたか?

答えて

3

[NSString stringWithCString:NSASCIIStringEncoding: strg]

this methodを呼び出すための正しい構文は次のとおりです。

[NSString stringWithCString:strg encoding:NSASCIIStringEncoding] 
関連する問題