Lưu trữ dữ liệu với NSUserDefault trong Object

I. Thông tin chung:

– Lưu trữ dữ liệu là một phần không thể thiếu đối với hầu hết các chương trình. Chẳng hạn như khi bạn chơi game, bạn cần lưu lại những thành tích mà bạn đạt được hay những vật dụng mà bạn đã mua hay đã sử dụng.

– NSUserDefault là cách lưu dữ liệu nhanh chóng và dễ dàng nhất của Object C. Nó chuyên dùng để lưu những dữ liệu đơn giản như các chuỗi (string), số lượng (number) hay đơn thuần chỉ là một biến bool. Ngoài ra nó cũng có thể dùng để lưu lại các NSArray hay NSDictionary nếu bạn không đưa những dữ liệu phức tạp vào như phim, hình ảnh và âm thanh. Đây là giải pháp tốt nhất nếu bạn muốn lưu lại những thiết lập (setting hay option) dành cho chương trình.

II. Nội dung chính:

Lưu trữ với NSUserDefault thực sự rất đơn giản. NSUserDefault lưu trữ thông tin với những từ khóa (keyword).

1. Lưu dữ liệu vào trong NSUserDefault:
Bạn chỉ cần tạo một instant NSUserDefault và truy cập dữ liệu với keyword của nó.

GameScore = 100;

Username = [[NSString alloc] initWithFormat:@”huygamer”];

NSUserDefaults * lkUserDefault =  [NSUserDefaults standardUserDefaults];

[lkUserDefault setInteger:GameScore forKey:@”GameScore”];

[lkUserDefault setObject:Username  forKey:@”MainUser”];

[lkUserDefault synchronize];

=> Đây là các bước để lưu dữ liệu người dùng vào trong NSUserDefault

2. Lấy dữ liệu từ trong NSUserDefault ra:
Bạn tạo một instant NSUserDefault xong và lấy dữ liệu dựa vào từ khóa của nó:

NSUserDefault *lkUserDefault = [NSUserDefault standardUserDefaults];

int GameScore = [[lkUserDefault  objectForKey:@”DiemSo”] intValue];

NSString *username = [lkUserDefault objectForKey:@”Username”];

3. Đặc điểm:
– NSUserDefault là cách đơn giản nhất để lưu dữ liệu của người dùng. Chỉ cần tạo một instant sau đó sử dụng.
– NSUserDefault cho mỗi ứng dụng là tách biệt với nhau. Nó được lưu cùng vị trí với chương trình và nếu chương trình bị xóa cùng toàn bộ dữ liệu bạn cũng sẽ mất toàn bộ dữ liệu mà bạn lưu trữ.

4. Phần phụ:

Do lúc lấy dữ liệu ra cũng cần phải hiển thọ trên View hay ở nơi nào đó, đây là cách format dữ liệu để hiển thị lên trên View:

NSNumberFormatter* lkNumberFormatter = [[NSNumberFormatter alloc] init];

lkNumberFormatter.usesGroupingSeparator = YES;

lkNumberFormatter.groupingSeparator = @”,”;

lkNumberFormatter.groupingSize = 3;

NSString *lkNumberString = [lkNumberFormatter stringFromNumber: [NSNumber numberWithInteger: lkLikCoin]];

_lblLKLikCoin.text = lkNumberString;

III. Kết luận:

– Lưu trữ dữ liệu là một phần rất quan trọng của chương trình. Nó giúp lưu lại quá trình làm việc của người sử dụng và có thể tiếp tục làm việc từ điểm đã làm tiếp từ hôm qua.

– NSUserDefault chỉ là một phương pháp lưu trữ đơn giản để có thê lưu dấu trang, những thuộc tính cần thiết để chạy chương trình. Ngoài NSUserDefault còn có hệ thống quản lý file của IOS (IOS’s file management system), SQLIte (database SQL gọn nhẹ thường được sử dụng cho các hệ thống di động) và Core Data.

– Hãy chọn cách thích hợp để lưu trữ data cho chương trình của bạn.

Tagged: , , , , , , , , , , , , , , , , , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: