私はアプリケーションの状態を保存したいiPhoneアプリを作っています。これには、私が単独でファイルに保存しているintプロパティが含まれています。私はそれを書いて作業しているが、私はそれがちょっとハッキーで、intをStringに変換してからNSDataに変換する方法を知っている。誰かより良い方法を提案できますか?iPhone?
int i = 1;
NSData *data = [NSData dataWithBytes: &i length: sizeof(i)];
[data writeToFile: [documentsDirectory stringByAppendingString: @"someFile"] atomically: YES]
とリードバックする: -
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];
他の少なくとも1人は基本的に同意しています(http://lists.apple.com/archives/cocoa-dev/2002/Jun/msg01317.html)。彼らはNSNumberで始まりましたが、フォーマットステップをバイパスします。 –