Swift-এ UserDefaults ব্যবহার করে সহজে অ্যাপের ছোট ও সাধারণ ডেটা সংরক্ষণ করা যায়, যেমন ব্যবহারকারীর প্রিফারেন্স, অ্যাপ সেটিংস ইত্যাদি। এটি ডেটা সংরক্ষণের জন্য কী-ভ্যালু পেয়ার ব্যবহার করে এবং সাধারণত অ্যাপ্লিকেশন বন্ধ হয়ে গেলেও ডেটা স্থায়ীভাবে সংরক্ষণ করে।
UserDefaults ব্যবহার করে ডেটা সংরক্ষণ, পড়া এবং মুছে ফেলা
১. ডেটা সংরক্ষণ করা
UserDefaults-এ ডেটা সংরক্ষণ করতে .set(_:forKey:) মেথড ব্যবহার করা হয়, যেখানে আপনি ডেটা এবং কী প্রদান করেন।
let defaults = UserDefaults.standard
defaults.set("Alice", forKey: "username")
defaults.set(25, forKey: "age")
defaults.set(true, forKey: "isLoggedIn")
- এখানে,
username,age, এবংisLoggedInকীগুলোতে ভিন্ন ধরনের ডেটা সংরক্ষণ করা হয়েছে।
২. ডেটা রিড বা পড়া
সংরক্ষিত ডেটা পুনরুদ্ধার করতে .string(forKey:), .integer(forKey:), .bool(forKey:) ইত্যাদি মেথড ব্যবহার করা হয়।
let username = defaults.string(forKey: "username") // "Alice"
let age = defaults.integer(forKey: "age") // 25
let isLoggedIn = defaults.bool(forKey: "isLoggedIn") // true
৩. ডেটা মুছে ফেলা
সংরক্ষিত ডেটা মুছে ফেলতে .removeObject(forKey:) মেথড ব্যবহার করা হয়।
defaults.removeObject(forKey: "username")
UserDefaults-এ সংরক্ষণযোগ্য ডেটা টাইপ
UserDefaults সরাসরি কিছু নির্দিষ্ট ডেটা টাইপ সংরক্ষণ করতে পারে, যেমন:
- String:
.string(forKey:) - Integer:
.integer(forKey:) - Bool:
.bool(forKey:) - Double এবং Float:
.double(forKey:)এবং.float(forKey:) - Array এবং Dictionary: অ্যারের জন্য
.array(forKey:)এবং ডিকশনারির জন্য.dictionary(forKey:)
কাস্টম অবজেক্টের জন্য, আপনি অবজেক্টকে Data টাইপে কনভার্ট করে সংরক্ষণ করতে পারেন।
UserDefaults-এ কাস্টম ডেটা সংরক্ষণ
যদি আপনি কাস্টম অবজেক্ট সংরক্ষণ করতে চান, তাহলে আপনাকে অবজেক্টকে Codable প্রোটোকল অ্যাডপ্ট করাতে হবে এবং JSONEncoder এর মাধ্যমে Data টাইপে কনভার্ট করতে হবে।
উদাহরণ:
struct User: Codable {
var name: String
var age: Int
}
let user = User(name: "Alice", age: 25)
if let encoded = try? JSONEncoder().encode(user) {
defaults.set(encoded, forKey: "user")
}
// রিড করা
if let savedUserData = defaults.data(forKey: "user"),
let savedUser = try? JSONDecoder().decode(User.self, from: savedUserData) {
print(savedUser.name) // আউটপুট: Alice
}
সংক্ষেপে
UserDefaults ছোটখাটো এবং সাধারণ ডেটা সংরক্ষণের জন্য খুবই কার্যকর। এটি অ্যাপ্লিকেশনের ছোট ডেটা সেভ করার জন্য ব্যবহার করা হয়, তবে বড় এবং সেনসিটিভ ডেটার জন্য নয়। Swift-এর UserDefaults এর মাধ্যমে আপনার অ্যাপ্লিকেশন ছোট ধরনের প্রিফারেন্স ও সেটিংস ম্যানেজ করতে সক্ষম হবে।