objective-c - 如何将具有浮点值的数组保存到 Mac 可读的文本文件中?

标签 objective-c arrays cocoa save

我想将存储在数组中的浮点值保存到文本文件中,并直接在 Mac 上读取该文件。这就是我创建数组的方式:

dataArray = [[NSMutableArray alloc] init];
NSNumber *numObj = [NSNumber numberWithFloat:3.14];
[dataArray insertObject:numObj atIndex:0];
NSNumber *numObj = [NSNumber numberWithFloat:2.3];
[dataArray insertObject:numObj atIndex:1];
...

这就是我保存数组的方式:

NSData *savedData = [NSKeyedArchiver archivedDataWithRootObject:dataArray];
NSString *filePath = @"/Users/smith/Desktop/dataArray.txt";
[savedData writeToFile:filePath options:NSDataWritingAtomic error:nil];

当我打开文件时,内容只是乱码。相反,我想让它像这样:

3.14
2.3
1.4
...

最佳答案

您编写的程序将对象表示形式保存为 NSNumbers 数组,而 您想要/期望的结果是一个由换行符分隔的文本文件。

要将这些浮点值保存到该格式的文本文件中,您可以这样做:

...
NSMutableString * string = [NSMutableString new];
[string appendFormat:@"%f\n", 3.14];
[string appendFormat:@"%f\n", 2.3];

NSError * error = nil;
BOOL written = [string writeToURL:url atomically:YES encoding:someEncoding error:&error];
...

关于objective-c - 如何将具有浮点值的数组保存到 Mac 可读的文本文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11906588/

相关文章:

objective-c - .lproj 和 Localizable.strings : project with localized text?

swift - 构建一个 Mac OS X Cocoa 应用程序以运行带参数的 shell 脚本

ios - 为什么 NSURL 在方案之后解析带有双正斜杠的字符串与带有单个正斜杠的字符串不同?

objective-c - 在 NSCollectionView 中顺序移动选择

iphone - iPhone 中 NSMutableArray 的排序

ios - 为什么 arc4random() 在将其存储在变量中时表现不同?

ios - 用它的 child 调整 SKSpriteNode 的大小

c - 在 C 中对二维字符串数组进行排序

javascript - 一般使用javascript map函数是什么意思?

javascript - 类型 'X' 的参数不可分配给类型 'Y' 的参数