Encodable pada pembuatan Session di Swift 4 (IOS)



Sore ini kita akan mempelajari tentang  Encodable pada swift 4. Encodable dapat digunakan untuk menampilkan data dari bentul model  kedalam bentuk json. Pada percobaan  kali ini kita akan memanfaatkan Encodable pada proses pembuatan Session di swift 4.

Pertama kita buat struct terlebih dahulu :

struct AlarmArray : Encodable {
     var nama, waktu : String?
     var isActive : Bool
}

Kemudian kita buat struct lain, dimana struct baru ini selain menambahkan variabel string, kita juga memasukkan struct AlarmArray menjadi variabelnya :

struct AlarmData : Ecodable {      
     var identifier : String?
     var alarmarray : AlarmArray?
}

Setelah kita selesai membuat kelas modelnya, kemudian kita buat Sessionnya. proses perubahan model ke bentuk json menggunakan Encodable sebagai berikut :

let alarm = AlarmData()
let jsonEncoder = JSONEncoder()
do{
     let dataAlarm = try jsonEncoder.encode(alarm)
     let jsonString = String(data: dataAlarm, encoding: .utf8) 
     print("---------  convert model to json -------->", jsonString) 
}catch{
     print("Error")
}

jika fungsi diatas kita gunakan untuk menyimpan data session, maka kita tinggal masukkan data diatas dengan key sesuai  keinginan anda :


import SwiftKeychainWrapper
import SwiftJSON  

func createSession(alarm : AlarmData, alarmKey: String){
     let alarm = AlarmData()
     let jsonEncoder = JSONEncoder()
     do{
          let dataAlarm = try jsonEncoder.encode(alarm)
          let jsonString = String(data: dataAlarm, encoding: .utf8) 
          print("---------  convert model to json -------->", jsonString) 
          KeychainWrapper.standard.set(jsonString!, forKey: AlarmKey)
     }catch{
          print("Error")
     }
}


untuk memanggil session yang telah tersimpan, kita membuat function untuk mengambil data session berdasarkan key session tersebut :

import SwiftKeychainWrapper
import SwiftJSON  

func getSession(alarmKey: String){
     let alarmdata = KeychainWrapper.standard.string(forKey: alarmKey)
     let datajsonalarm = JSON.init(parseJSON: alarmdata ?? "")
     return datajsonalarm
}

Sedangkan untuk Mendestroy session tinggal meremove KeychainWrapper berdasarkan parameter yang diinginkan. berikut function untuk mendestroy session :

import SwiftKeychainWrapper
import SwiftJSON  

func destroySession(alarmKey: String){
     KeychainWrapper.standard.remove(forKey: alarmKey) 
}


Seperti itulah cara pembuatan Session pada Swift 4 dengan menggunakan Data Model, Semoga bisa bermanfaat 😚


Encodable pada pembuatan Session di Swift 4 (IOS) Encodable pada pembuatan Session di Swift 4 (IOS) Reviewed by sdiik on January 30, 2020 Rating: 5

No comments:

Powered by Blogger.