13
私はCodable
で遊んでいて、ファイルからJSONを読み書きしています。今度は、Coder
というカスタムを書いて、iOS .strings
ファイルを読み書きすることができます。誰もこれで私を助けることができますか?私はプロトコルにEncoder
とDecoder
を見つけましたが、私はここに実装すべきかは考えていません:Swift 4カスタムエンコーダとデコーダ
class StringsEncoder {}
extension StringsEncoder: Encoder {
var codingPath: [CodingKey?] {
return []
}
var userInfo: [CodingUserInfoKey : Any] {
return [:]
}
func container<Key>(keyedBy type: Key.Type) -> KeyedEncodingContainer<Key> where Key : CodingKey {
}
func unkeyedContainer() -> UnkeyedEncodingContainer {
}
func singleValueContainer() -> SingleValueEncodingContainer {
}
}
extension StringsEncoder: Decoder {
func container<Key>(keyedBy type: Key.Type) throws -> KeyedDecodingContainer<Key> where Key : CodingKey {
}
func unkeyedContainer() throws -> UnkeyedDecodingContainer {
}
func singleValueContainer() throws -> SingleValueDecodingContainer {
}
}
あなたは 'Codable'プロトコルを調べましたか?私は、 '.strings'フォーマットがこれにふさわしいかどうか確信していません。' Codable'プロトコルは、配列、辞書、数字、ヌル値などを持つ汎用フォーマットをサポートしなければなりません。 '.strings'ファイルは、それをサポートしています...それは単なる目的のフォーマットです。 –
あなたはおそらく、文字列形式のために少し残忍に思えます。例えば、よく分かっている[JSONEncoder source](https://github.com/apple/swift/blob/master/stdlib/public/SDK/Foundation/JSONEncoder.swift)を見てください。 [swift unboxed](https://swiftunboxed.com/)はすぐにあなたが探しているものに似た投稿をします。 – nathan
私はあなたがCodableを理解したいと思っていますが、オフチャンスであなたはただ読んで書くだけです文字列ファイルのチェックアウト 'String.propertyListFromStringsFileFormat()'と 'Dictionary.descriptionInStringsFileFormat' –