dポイントプレゼントキャンペーン実施中!

書籍(Swift逆引き大全)を参考にPOSTデータを送信する機能を作ろうとしております。

書籍のサンプルプログラムに以下のように記されていました。
let postdata = post.dataUsingEncoding(NSUTF8StringEncoding)!

xcodeで書いたところ、以下のようなエラーメッセージが表示されました。
・'dataUsingEncoding(_:allowLossyConversion:)' has been renamed to 'data(usingEncoding:allowLossyConversion:)’
・'NSUTF8StringEncoding' has been renamed to ‘String.Encoding.utf8'

その後、xcodeの指示通り以下のように記述したところ、エラーは消えました。
let postdata = post.data(using:String.Encoding.utf8)!

これは書籍とxcodeのバージョンが違っているから起きることなのでしょうか?
xcodeのバージョン違いでここまで変わるものなのでしょうか?

A 回答 (1件)

XCodeというよりは、Swiftのバージョン違いでしょう。


Swiftに限らず、よくあることです。
https://swift.org/migration-guide/

大幅なバージョン更新の際に、それまでの「よくないところ」をばっさり削るのか、過去の資産を活用するために敢て残すのか、は、開発者達の方針によります。
使う側も、新しいバージョンに対応させるか、それまでのバージョンのままにするかを選択する必要があります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

Swiftのバージョンなんですね。
Swiftもまだまだ発展途上の言語っぽいのでまだまだ変わっていきそうですね。

お礼日時:2017/01/14 08:31

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!