Хорошо, здесь идет. Я делаю очень простое приложение и хочу, чтобы пользователь мог хранить информацию между сессиями. В основном, для них, чтобы сохранить свою игру. Мне нужно сохранить только 7 переменных, все они являются целыми числами.
Это код, который я должен сохранить в игре.
- (NSString *)dataFilePath
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
return [documentsDirectory stringByAppendingPathComponent:fileName];
}
- (IBAction)saveGameAction:(id)sender
{
NSString *test1 = [[NSString alloc] initWithFormat:@"%d",varMoney];
NSMutableArray *array = [[NSMutableArray alloc] init];
[array addObject:test1];
[array writeToFile:[self dataFilePath] atomically:YES];
[array release];
[test1 release];
}
Это работает (Ради простоты, я храню только 1 из переменных, а не все 7 в этом примере кода. Что не работает, так это получение значений из списка свойств. После нажатия кнопки «Загрузить» я хочу вывести переменную из списка и вернуть ее в правильную переменную. Вот код, который у меня есть для этого:
- (IBAction)loadGameAction:(id)sender
{
NSString *filePath = [self dataFilePath];
if ([[NSFileManager defaultManager] fileExistsAtPath:filePath])
{
NSArray *array = [[NSArray alloc] initWithContentsOfFile:filePath];
NSString *testing = [array objectAtIndex:0];
[array release];
varMoney = [testing intValue];
NSString *testMessage = [[NSString alloc] initWithFormat:@"%d", varMoney];
//NSString *testMessage = [[NSString alloc] initWithFormat:@"%@", testing];
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle:@"Test"
message:testMessage
delegate:nil cancelButtonTitle:@"Cool"
otherButtonTitles:nil];
[alert show];
[alert release];
}
Всякий раз, когда я загружаю код, программа вылетает. В идеале я хотел бы хранить значения Int непосредственно в списке свойств, а не NSStrings, а затем извлекать значения Int из списка свойств. Я пытался дурачиться с NSNumber, но не мог на всю жизнь заставить его работать.
Так что это моя проблема. Я не могу прочитать значения из списка свойств. Мне нужна ваша помощь, чтобы решить эту проблему, спасибо!