Avatar
FirebaseのRTDBやFirestoreをSwiftで使う場合に既にDictionaryになって値が取得出来るかと思いますが、既にDictionaryになってしまっている値でCodableを簡潔に使える方法無いですかね? すぐに思いついて簡単なのは JSONSerialization で一度 Data 化してから JSONDecoder を利用する方法かなと思いますが JSONDecoder 内で JSONSerializationDictionary というか Any 化されてるんですね。 https://github.com/apple/swift/blob/5836ea4d11ff5eb66f9c74ec1c0202585a467a9d/stdlib/public/SDK/Foundation/JSONEncoder.swift#L1060 なんか非効率だなーと感じるので、他に良い方法があれば知りたいです。最悪 JSONDecoder を丸々コピって DictionaryDecoder みたいなものを作る事になるのかなと思うんですが JSONDecoder が同じ処理をしてると思うとそれも非効率に感じます。。
swift - The Swift Programming Language