У меня есть следующая функция, написанная для случайного выбора файла из каталога. Это работает совершенно нормально, когда я строю проект в XCode для выпуска с приложением, которое автоматически открывается. Однако, если я открою приложение из поиска, нажатие кнопки, которая вызывает эту функцию, приведет к зависанию моей программы и ее аварийному завершению. Единственное, о чем я мог подумать, это изменить аргумент на contentOfDirectoryAtPath: чтобы не было ./, но любая из версий имеет точно такую же проблему.
Взгляд на консоль говорит мне, что моя программа вышла ненормально с исключением с плавающей запятой, но я понятия не имею, что его вызывает. Ребята, вы что-то выскакиваете, чего я не вижу? Я начал изучать / использовать цель-C и какао только неделю назад, так что для меня все это довольно ново.
Спасибо, что взглянули на это ...
- (NSMutableString*)setFilePathRandom{
NSArray* files;
NSFileManager* fileManager;
fileManager = [[NSFileManager alloc] init];
files = [fileManager contentsOfDirectoryAtPath:@"./Random Trippy Pics" error:NULL];
NSString* directoryPath = (NSMutableString*)[fileManager currentDirectoryPath];
NSString* fileName;
do{
fileName = [files objectAtIndex:(arc4random()%[files count])];
}while([fileName isEqualToString:@".DS_Store"]);
filePath = [NSString stringWithFormat:@"%@/Random Trippy Pics/%@",directoryPath,fileName];
[fileManager release];
return filePath;
}