bpa*_*apa 19 iphone objective-c nsdata
我正在制作一个iPhone应用程序,我希望保存应用程序的状态.这包括一个int属性,我将自己持久保存到文件中.我有它编写和工作,但我知道我做的方式是有点hacky,将int转换为String然后转换为NSData.任何人都可以提出更好的方法吗?
int someInt = 1;
NSString *aString = [NSString stringWithFormat:@"%d",someInt];
NSData *someData = [aString dataUsingEncoding:NSUTF8StringEncoding];
[someData writeToFile:[documentsDirectory stringByAppendingString:@"someFile"] atomically:YES];
然后从磁盘读取它并将其放回int -
NSData* someData = [NSData dataWithContentsOfFile:[documentsDirectory stringByAppendingString:@"someFile"]];
NSString *aString = [[NSString alloc] initWithData:someData encoding:NSUTF8StringEncoding];
int someInt = [aString intValue];
Ben*_*ack 58
来写:
int i = 1;
NSData *data = [NSData dataWithBytes: &i length: sizeof(i)];
[data writeToFile: [documentsDirectory stringByAppendingString: @"someFile"] atomically: YES]
并回读:
NSData *data = [NSData dataWithContentsOfFile: [documentsDirectory stringByAppendingString: @"someFile"]];
int i;
[data getBytes: &i length: sizeof(i)];
但是,你真的应该使用这样NSUserDefaults的东西,在这种情况下你会做:
[[NSUserDefaults standardUserDefaults] setInteger: i forKey: @"someKey"]
写,和
int i = [[NSUserDefaults standardUserDefaults] integerForKey: @"someKey"];
阅读.
| 归档时间: | 
 | 
| 查看次数: | 24850 次 | 
| 最近记录: |