حفظ قيمة المتغيرات في ملف xcode ios
-
11-12-2019 - |
سؤال
لدي مثال على حفظ تاريخ 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;
المحلول
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];
نصائح أخرى
أيضًا، إذا كنت لا تريد الكتابة إلى ملف معين، فتحقق من NSUserDefaults
الطبقة مع الأساليب – setInteger:forKey:
و – integerForKey:
لتخزين واسترجاع القيم الصحيحة.
لا تنتمي إلى StackOverflow