mirror of
https://github.com/Tencent/MMKV.git
synced 2026-10-26 02:17:25 +08:00
72 lines
2.5 KiB
Swift
72 lines
2.5 KiB
Swift
//
|
|
// ContentView.swift
|
|
// MMKVVisionDemo
|
|
//
|
|
// Created by Cyril Bonaccini on 15/02/2024.
|
|
// Copyright © 2024 Lingol. All rights reserved.
|
|
//
|
|
|
|
import SwiftUI
|
|
import MMKV
|
|
|
|
struct ContentView: View {
|
|
var body: some View {
|
|
VStack {
|
|
Text("Hello, world!")
|
|
Button("Press Me") {
|
|
guard let mmkv = MMKV(mmapID: "testSwift", mode: MMKVMode.singleProcess) else {
|
|
return
|
|
}
|
|
|
|
mmkv.set(true, forKey: "bool")
|
|
print("Swift: bool = \(mmkv.bool(forKey: "bool"))")
|
|
|
|
mmkv.set(Int32(-1024), forKey: "int32")
|
|
print("Swift: int32 = \(mmkv.int32(forKey: "int32"))")
|
|
|
|
mmkv.set(UInt32.max, forKey: "uint32")
|
|
print("Swift: uint32 = \(mmkv.uint32(forKey: "uint32"))")
|
|
|
|
mmkv.set(Int64.min, forKey: "int64")
|
|
print("Swift: int64 = \(mmkv.int64(forKey: "int64"))")
|
|
|
|
mmkv.set(UInt64.max, forKey: "uint64")
|
|
print("Swift: uint64 = \(mmkv.uint64(forKey: "uint64"))")
|
|
|
|
mmkv.set(Float(-3.1415926), forKey: "float")
|
|
print("Swift: float = \(mmkv.float(forKey: "float"))")
|
|
|
|
mmkv.set(Double.infinity, forKey: "double")
|
|
print("Swift: double = \(mmkv.double(forKey: "double"))")
|
|
|
|
mmkv.set("Hello from Swift", forKey: "string")
|
|
print("Swift: string = \(mmkv.string(forKey: "string") ?? "")")
|
|
|
|
mmkv.set(NSDate(), forKey: "date")
|
|
let date = mmkv.date(forKey: "date")
|
|
print("Swift: date = \(date?.description(with: .current) ?? "null")")
|
|
|
|
mmkv.set("Hello from Swift".data(using: .utf8) ?? Data(), forKey: "data")
|
|
let data = mmkv.data(forKey: "data")
|
|
let str = String(data: data ?? Data(), encoding: .utf8) ?? ""
|
|
print("Swift: data = \(str)")
|
|
|
|
let arr = [1, 0, 2, 4]
|
|
if let objArr = arr as NSArray? {
|
|
mmkv.set(objArr, forKey:"array")
|
|
let result = mmkv.object(of: NSArray.self, forKey: "array");
|
|
print("Swift: array = \(result as! NSArray)")
|
|
}
|
|
|
|
mmkv.removeValue(forKey: "bool")
|
|
print("Swift: after delete bool = \(mmkv.bool(forKey: "bool"))")
|
|
}
|
|
}
|
|
.padding()
|
|
}
|
|
}
|
|
|
|
#Preview(windowStyle: .automatic) {
|
|
ContentView()
|
|
}
|