Swiftで辞書項目をprintlnするときに辞書キーの二重引用符をエスケープする 質問する

Swiftで辞書項目をprintlnするときに辞書キーの二重引用符をエスケープする 質問する

Swift をいろいろ試していたのですが、問題に遭遇しました。次の辞書があります:

var locations:Dictionary<String,CLLocationCoordinate2D> = ["current":CLLocationCoordinate2D(latitude: lat, longitude: lng) ];

println("current locaition is \(locations["current"])")

しかし、コンパイラは、current辞書内のキーを表す二重引用符について警告しています。

それで逃げようとしました\が、それは正しい方法ではありませんでした。

ご協力いただければ幸いです。

ベストアンサー1

Xcode 7.1以降

Xcode 7.1 ベータ 2 以降では、文字列リテラル内で引用符を使用できるようになりました。リリース ノートから:

文字列に挿入される式に文字列リテラルを含めることができるようになりました。たとえば、「My name is (attributes["name"]!)」は有効な式になりました。(14050788)

Xcode <7.1

そんなやり方では無理だと思います。

からドキュメント

補間文字列内の括弧内に記述する式には、エスケープされていない二重引用符 (") やバックスラッシュ (\) を含めることはできません。また、復帰や改行を含めることもできません。

使用する必要がある

let someVar = dict["key"]
println("Some words \(someVar)")

おすすめ記事