2012-09-30 76 views
0

我節省taxtfield保存價值的iOS

- (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; 

回答

0

NSInteger不是一個Objective-C型,但可以將其轉換爲NSNumber以將其存儲在一個陣列(或字典):

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

在Xcode 4.4開始,還可以使用在「盒裝表達式」語法:

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]; 
1

另外,如果你不想寫入使用方法– setInteger:forKey:– integerForKey:檢查NSUserDefaults類以存儲和檢索整數值。

+0

好建議(+1) –