私はSwiftを初めて使い、iOS(iOS> = 8)プロジェクトのJSON文字列にオブジェクト構造をシリアル化する必要があります。 私はObjectMapperライブラリを使用することに決めました(私はそれをCocoapodと統合しました)。SwiftとObjectMapperで継承を使用するには?
しかし、私の問題は、その構造は次のとおりです。
ObjectAは、インスタンス変数に格納された配列として子オブジェクトのリストを持つことができます。 インスタンス配列に格納できるオブジェクトは、ObjectBとObjectCのように複数の型にすることができます。ですから、GSONを使ったJavaでは、InterfaceDを作成し、クラスを実装してObjectAストアのInterfaceD型で配列を作成しましたが、Swiftオブジェクトモデルでこれを行う方法はわかりません。{}
JSONオブジェクト。
JSONは次のようになります。
{"children":[
{"type":"ObjectB", "value1":"foo"},
{"type":"ObjectC", "value1":"bar", "value2":"baz"}
]}
と私はObjectAにしてObjectCにからシリアル化する必要があり、2つのエントリが異なる構造を持っている必要があることを
{"children":[
{},
{}
]}
お知らせを得ます。
私は複数のことを試みましたが、毎回私は行き詰まっています。 ジェネリックを使ってみましたが、配列型としてMappableプロトコルを使用しようとしましたが、古典クラスの継承を試みましたが、いずれも失敗しました。
これをどのように達成できますか?
各オブジェクトにシリアル化関数を追加して文字列を再帰的に取得して連結できることを知っています。しかし、私は実際にAlamofireがすでにプロジェクトで使用されているので、すでにうまく使用しているので、自分でJSONシリアライザを実装しないようにしたいと思っています。また、新しいシリアライザを実装すると、エラーが発生しやすく、問題を解決するきれいな方法ではなくなります。
ありがとうございます。