已解决(感谢
Regexident)
我有一个应用程序将PDF的文件路径传递给自定义 – (id)init init方法.它被添加到表中,当它被选中时,它会为不存在的文件调用else语句:
- (void) gridView:(AQGridView *)gridView didSelectItemAtIndex:(NSUInteger)index { NSLog (@"Selected theArgument=%d\n",index); UIViewController *viewController = [[[UIViewController alloc]init]autorelease]; { //if file is built-in,read from the bundle if (index <= 3) { // first section is our build-in documents NSString *fileURLs = [_documentIconsURLs objectAtIndex:index]; NSLog(@"file url -%@",fileURLs); viewController = [[[xSheetMusicViewController alloc]initWithContentURL:fileURLs]autorelease]; } //if file is external,read from URL else { // second section is the contents of the Documents folder NSString *fileURL = [_documentIconsURLs objectAtIndex:index]; NSLog(@"file url -%@",fileURL); NSString *path; NSString *documentsDirectoryPath = [self applicationDocumentsDirectory]; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES); path = [[paths objectAtIndex:0] stringByAppendingPathComponent:fileURL]; if ([[NSFileManager defaultManager] fileExistsAtPath:documentsDirectoryPath]) { viewController = [[[xSheetMusicViewController alloc]initWithDocumentURL:fileURL]autorelease]; } else { UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Failure!" message:@"The Selected File Does Not Exist" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles: nil]; [alert show]; [alert release]; return; } } [self.navigationController setNavigationBarHidden:YES animated:NO]; [UIView beginAnimations:@"animation" context:nil]; [UIView setAnimationDuration:1]; [UIView setAnimationTransition:UIViewAnimationTransitionCurlDown forView:self.navigationController.view cache:YES]; [self.navigationController pushViewController:viewController animated:NO]; [UIView commitAnimations]; } }
因此,每当我的文档中没有空格时,它就会推动并进入.但是当文件名中有空格时,它表示它不存在.当我删除if-else方法时,它会初始化,但崩溃因为文件不存在.我试图用常规空间替换文件路径,但该方法继续调用else部分.