2

以下のような辞書パラメーターがあります

var params : Dictionary<String,AnyObject> = [
 "name"          :   self.name.text
]

self.name.text を変数に割り当てて、値があることを確認できます。

しかし、私がするとき

 println(params)

実行時に EXC_BAD_ACCESS を受け取ります

以下のように「as String」で修正できます

var params : Dictionary<String,AnyObject> = [
    "name"          :   self.name.text as String
]

EXC_BAD_ACCESSを停止するためにキャストが必要な理由を知っている人はいますか?

4

1 に答える 1

0

print ドキュメントから:

object に指定する値は、Printable または DebugPrintable プロトコルに準拠する必要があります。

したがってNSString、これらのプロトコルのいずれにも準拠していないと思います。

次のコードでも同じエラーが発生します

var str = NSString()
println(str as String) // fine
println(str) // fails
于 2014-06-05T02:59:20.837 に答える