オブジェクト内の Double は、別のオブジェクトに追加されると、文字列に変換されます (または単に引用符に入れられます)。私はこの動作をしたくありません。データベース ルールが完全に機能するように、double を double のままにしたい
var list: [String: AnyObject] = [:]
var obj: [String: Any] = [:]
obj["pi"] = 3.14
obj["test"] = "hello"
list["firstObj"] = obj as AnyObject
print(list)
結果は次のとおりです。
["firstObj": { pi = "3.14"; test = hello; }]
これ欲しい
["firstObj": { pi = 3.14; test = hello; }]
望ましい結果を達成するために何ができるかを提案してください
注: このコードをプレイグラウンドで実行して確認できます。
編集済み
問題はまだ解決されていません。回答に従った後、モデルを作成してfirebaseに投稿しました。今、これは私が見返りに得る例外です
'InvalidFirebaseData'、理由: '(setValue:withCompletionBlock:) cardCost で _SwiftValue 型のオブジェクトを格納できません。タイプ NSNumber、NSString、NSDictionary、および NSArray のオブジェクトのみを格納できます。
firebaseで読めるようにしたい