اي فون - الباحث إلى NSData؟
-
08-07-2019 - |
سؤال
وأنا جعل التطبيق فون حيث أريد لإنقاذ الدولة من التطبيقات. وهذا يشمل خاصية كثافة العمليات التي أنا المستمر إلى ملف من تلقاء نفسها. لدي مكتوبة والعمل، ولكن أنا أعلم أن الطريقة التي فعلت كان hacky قليلا، وتحويل الباحث إلى سلسلة ثم NSData. أي شخص يمكن أن تشير إلى طريقة أفضل؟
int someInt = 1;
NSString *aString = [NSString stringWithFormat:@"%d",someInt];
NSData *someData = [aString dataUsingEncoding:NSUTF8StringEncoding];
[someData writeToFile:[documentsDirectory stringByAppendingString:@"someFile"] atomically:YES];
وثم قراءتها من القرص وإعادته إلى عدد صحيح -
NSData* someData = [NSData dataWithContentsOfFile:[documentsDirectory stringByAppendingString:@"someFile"]];
NSString *aString = [[NSString alloc] initWithData:someData encoding:NSUTF8StringEncoding];
int someInt = [aString intValue];
المحلول
لإرسال:
int i = 1;
NSData *data = [NSData dataWithBytes: &i length: sizeof(i)];
[data writeToFile: [documentsDirectory stringByAppendingString: @"someFile"] atomically: YES]
وقراءة مرة أخرى:
NSData *data = [NSData dataWithContentsOfFile: [documentsDirectory stringByAppendingString: @"someFile"]];
int i;
[data getBytes: &i length: sizeof(i)];
ولكن، هل حقا يجب أن تستخدم NSUserDefaults
عن شيء مثل هذا، في هذه الحالة تريد ان تكون بهذا الأمر:
[[NSUserDefaults standardUserDefaults] setInteger: i forKey: @"someKey"]
والكتابة، و
int i = [[NSUserDefaults standardUserDefaults] integerForKey: @"someKey"];
والقراءة.
لا تنتمي إلى StackOverflow