さまよえる、Android

Androidのプログラミングで便利なことや残しておきたいことを残しておく。もしオススメのライブラリがあったら教えてくださいね。

2021-08-14から1日間の記事一覧

Codableでクラス継承対応

import UIKit var data = """ { "A": "A", "B": "B", "C": "C", } """ class A : Codable { var A:String = "A" enum CodingKeys: String, CodingKey { case A = "A" } func encode(to encoder: Encoder) throws { var container = encoder.container(keyedB…

SwiftのCodableでEnumを変換する

import UIKit enum Country: Int, Codable { case japan = 0 case usa case france } struct Member: Codable { let id: Int let country: Country } let json = """ { "id": 1, "country": 0 } """ let decoded = try JSONDecoder().decode(Member.self, fr…

Swiftで文字列のJSONをStructのインスタンスに変換する。

import UIKit protocol Json : Codable { func json(key: String) -> String! var json:String! { get } } extension Json { func json(key: String) -> String! { let encoder = JSONEncoder() encoder.dateEncodingStrategy = .iso8601 encoder.outputForm…

構造体にjsonメソッドとjsonプロパティを拡張すると便利????

import UIKit protocol Json : Codable { func json(key: String) -> String! var json:String! { get } } extension Json { func json(key: String) -> String! { let encoder = JSONEncoder() encoder.dateEncodingStrategy = .iso8601 encoder.outputForm…

Swiftは同じ関数名でも引数が異なれば宣言できる

struct User { func decorate(a: String) -> String { return "+++" + a + "+++" } func decorate(a: String, b: String) -> String { let a = self.decorate(a:a) let b = self.decorate(a:b) return a + ":" + b } } let user = User() let str = user.dec…

Swiftのprintで複数の変数を指定する。

こんな感じでできるのか。いちいち、変数ごとにprintしてたよ。 var a1 = "Hello, playground" var a2 = "hoge" print(a1, a2)