检查文件是否存在objective-c

mon*_*bre 12 cocoa objective-c

我使用下面的代码检查文件是否存在

bool b=[[NSFileManager defaultManager] fileExistsAtPath:filePath];
Run Code Online (Sandbox Code Playgroud)

这些代码适用于IOS.

但是当我将它迁移到mac os x时,

但是我发现文件是否存在于带有filePath的磁盘上,b总是返回0,这意味着该文件不存在.

我想知道ios和macosx之间是否存在差异

欢迎任何评论

Mar*_*era 5

从docs,我认为你正在使用路径 tilde

http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSFileManager_Class/Reference/Reference.html#//apple_ref/occ/instm/NSFileManager/fileExistsAtPath:isDirectory:

路径

文件或目录的路径.如果path以波浪号(〜)开头,则必须首先使用stringByExpandingTildeInPath进行扩展,否则此方法将返回NO.

tilde制作相对于您的主目录的路径(例如/Users/username/)

NSLog(@"%@",filePath);如果filePath是NSString类型,你可以通过调用找到

  • @monsabre您不应该接受不回答您问题的答案,并且您不应仅仅因为您没有得到您期望的答案而发布另一个问题.通过接受答案,您基本上告诉社区您的问题已经解决.在这种情况下,显然不是. (7认同)
  • filePath来自NSOpenPanel, (2认同)