保存文件xcode ios中的变量值

时间:2012-09-30 11:21:40

标签: ios xcode saving-data

我有一个保存taxtfield日期的例子

- (NSString *) getFilePath {
    NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    return [[pathArray objectAtIndex:0] stringByAppendingPathComponent:@"saved.plist"];
}

 -(void) saveData {
    NSArray *value = [[NSArray alloc] initWithObjects:[myTextField text],nil];
    [value writeToFile:[self getFilePath] atomically:YES];
}

但我如何在文件中保存变量的值?

NSInteger = record1, record2;

2 个答案:

答案 0 :(得分:1)

此外,如果您不想写入特定文件,请使用方法NSUserDefaults– setInteger:forKey:检查– integerForKey:类以存储和检索整数值。

答案 1 :(得分:0)

NSInteger不是Objective-C类型,但您可以将其转换为NSNumber以将其存储在数组(或字典)中:

NSInteger record1 = 17, record2 = 23;
NSNumber *number1 = [NSNumber numberWithInteger:record1];
NSNumber *number2 = [NSNumber numberWithInteger:record2];

从Xcode 4.4开始,您还可以使用“Boxed Expression”语法:

NSNumber *number1 = @(record1);

现在您可以将数字放入数组中:

NSArray *arrayToSave = [[NSArray alloc] initWithObjects:number1, number2, nil];
[arrayToSave writeToFile:[self getFilePath] atomically:YES];

您还应该考虑使用字典而不是数组来存储各种值,例如(再次使用盒装表达式):

NSDictionary *dictToSave = @{
    @"value1" : number1,
    @"value2" : number2,
    @"textField" : [myTextField text]
};
[dictToSave writeToFile:[self getFilePath] atomically:YES];