Array of Arrays - проблема записи в файл - PullRequest
0 голосов
/ 20 мая 2010

и снова мой массив массивов ... Я пытаюсь улучшить производительность моего приложения, буферизируя массивы в файле для последующего повторного использования.

У меня есть NSMutableArray, который содержит около 30 NSMutableArrays с объектами NSNumber, NSDate и NSString.

Я пытаюсь записать файл с помощью этого вызова:

bool result = [myArray writeToFile:[fileMethods 
                                    getFullPath:[NSString 
                                                 stringWithFormat:@"iEts%@.arr", 
                                                 [aDate shortDateString]]] 
                       atomically:NO];

=> result = FALSE.

Метод Path:

+ (NSString *) getFullPath:(NSString *)forFileName {
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    return [documentsDirectory stringByAppendingPathComponent:forFileName];
}

и вызов aDate возвращает shortDateString с ddMMyy.

NSLog

NSLog(@"%@", [fileMethods getFullPath:[NSString stringWithFormat:@"iEts%@.arr", 
                                                [aDate shortDateString]]]);

при генерации пути возвращает:

/Users/me/Library/Application Support/iPhone Simulator/User/Applications/86729620-EC1D-4C10-A799-0C638BB27933/Documents/iEts010510.arr

ДАЛЕЕ:

  • Он должен иметь какое-то отношение к массиву массивов, поскольку я также пишу еще 3 простых массива (содержащих NSStrings), которые все успешно выполняются.
  • Массив массивов генерируется с использованием метода addObject

Есть идеи, что может вызвать проблемы?

Ответы [ 2 ]

1 голос
/ 20 мая 2010

AFAIK При записи в файл используется архивация объектов, поэтому некоторые объекты в вашем массиве массивов не могут быть заархивированы.

0 голосов
/ 20 мая 2010

У вас есть какие-нибудь NSNulls в ваших массивах? Я не думаю, что они считаются объектами plist и поэтому могут привести к сбою записи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...