13
Codable
ile dolaşıyor ve bir dosyadan JSON okuyor ve yazıyor. Şimdi, iOS .strings
dosyalarını okuyabilen ve yazabilen bir özel Coder
yazmak istiyorum. Birisi bana yardım edebilir mi? Ben protokolleri Encoder
ve Decoder
bulundu, ancak ben burada uygulamalıdır hiçbir fikrim yok:Swift 4 özel kodlayıcı ve kod çözücü
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' protokollerine ve yapabileceklerine baktınız mı? ".strings" biçiminin bunun için uygun olduğuna emin değilim - "Codable" protokolleri diziler, sözlükler, sayılar, boş değerler vb. Içeren genel amaçlı formatları desteklemelidir. Bunlardan herhangi birini desteklemez ... Bu çok amaçlı bir formattır. –
Belki de, dizeleri biçimi için biraz aşırı gibi görünüyor olabilir. Örneğin, iyi belgelendirilmiş olan [JSONEncoder kaynağı] 'na (https://github.com/apple/swift/blob/master/stdlib/public/SDK/Foundation/JSONEncoder.swift) göz atın. [hızlı kutsanmamış] (https://swiftunboxed.com/) yakında aradığın şeye benzeyen bir gönderiye sahip olacak sanırım – nathan
Anladığım kadarını biliyorum Codable, ama şanssızlığı sadece okumak ve yazmak istiyorsun dize için dosya stringout 'String.propertyListFromStringsFileFormat()' ve 'Dictionary.descriptionInStringsFileFormat' –