Что я делаю не так в своем коде? - PullRequest
0 голосов
/ 11 сентября 2009
NSArray  *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0]; 
NSString *myPlistPath = [documentsDirectory stringByAppendingPathComponent:@"Accounts.plist"];

NSArray  *arr = [NSArray arrayWithContentsOfFile:myPlistPath];

int count = 0; 
for (NSDictionary *dict in arr) { 
      count += dict.count; 
}

return count;

Что я делаю не так?

Я получаю следующую ошибку с вышеуказанным кодом: Программа получила сигнал: «EXC_BAD_ACCESS».

Ответы [ 2 ]

3 голосов
/ 11 сентября 2009

EXC_BAD_ACCESS обычно является ошибкой памяти, возможно вызванной неверным адресом.

Начните с распечатки paths, documentsDirectory, myPListPath и arr (адресов, а не содержимого) сразу после их установки, чтобы увидеть, было ли какое-либо из них установлено в NULL.

0 голосов
/ 11 сентября 2009

Попробуйте распечатать myPListPath и убедиться, что файл, на который он ссылается, действительно существует и имеет правильный формат. Если вы спросите меня, скорее всего, в этой строке:

NSArray  *arr = [NSArray arrayWithContentsOfFile:myPlistPath];

что-то идет не так, а arr устанавливается в ноль.

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