SwiftでNSDataから文字列を初期化する方法 質問する

SwiftでNSDataから文字列を初期化する方法 質問する

NSDataSwift で文字列を初期化しようとしています。

の中にNSString Cocoa ドキュメントApple はこれを使用する必要があると言っています:

 init(data data: NSData!, encoding encoding: UInt)

しかし、Apple は使用例や を配置する場所についての例を一切含めませんでしたinit

次のコードをObjective-CからSwiftに変換しようとしています

NSString *string;
string = [[NSString alloc] initWithData: data encoding: NSUTF8StringEncoding];

私は次のような多くの可能な構文を試してきました (もちろん機能しませんでした)。

var string:NSString!
string = init(data: fooData,encoding: NSUTF8StringEncoding)

ベストアンサー1

必要な実装コードは次のとおりです。

Swift 3.0では:

var dataString = String(data: fooData, encoding: String.Encoding.utf8)

あるいは単に

var dataString = String(data: fooData, encoding: .utf8)

古いSwiftバージョン:

Swift 2.0では:

import Foundation

var dataString = String(data: fooData, encoding: NSUTF8StringEncoding)

Swift 1.0の場合:

var dataString = NSString(data: fooData, encoding:NSUTF8StringEncoding)

おすすめ記事