可以在iPhone上使用NSUserDefaults保存整数数组吗? [英] Possible to save an integer array using NSUserDefaults on iPhone?
问题描述
是否可以使用NSUserDefaults在iPhone上保存整数数组?我有一个在我的.h文件中声明的数组: int playfield [9] [11]
从一个文件填充整数,并确定游戏场的布局。我想要能够有几个保存位置,用户可以保存他们的游戏。如果我这样做:
NSUserDefaults * prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject:playfield forKey:@slot1Save];
我得到一个指针错误。
提前感谢!
如果可以保存整数数组,ie(w / o错误处理)可以使用NSData包装来保存和检索数组。
保存
NSData * data = [NSData dataWithBytes: playfield length:sizeof(playfield)];
[prefs setObject:data forKey:@slot1Save];
载入
NSData * data = [prefs objectForKey:@slot1Save];
memcpy(& playfield,data.bytes,data.length);
Is it possible to save an integer array using NSUserDefaults on the iPhone? I have an array declared in my .h file as: int playfield[9][11]
that gets filled with integers from a file and determines the layout of a game playfield. I want to be able to have several save slots where users can save their games. If I do:
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setObject: playfield forKey: @"slot1Save"];
I get a pointer error. If it's possible to save an integer array, what's the best way to do so and then retrieve it later?
Thanks in advance!
You can save and retrieve the array with a NSData wrapper
ie (w/o error handling)
Save
NSData *data = [NSData dataWithBytes:&playfield length:sizeof(playfield)];
[prefs setObject:data forKey:@"slot1Save"];
Load
NSData *data = [prefs objectForKey:@"slot1Save"];
memcpy(&playfield, data.bytes, data.length);
这篇关于可以在iPhone上使用NSUserDefaults保存整数数组吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!