fileExistsAtPath: returning NO for files that exist

前端 未结 3 2107
长情又很酷
长情又很酷 2021-02-11 11:43

At a point in my code fileExistsAtPath: is returning NO for files that I have confirmed exist. I\'ve been scratching my head at this and can\'t figure out why its not working, s

相关标签:
3条回答
  • 2021-02-11 12:40

    You should use [dir path], not [dir absoluteString].

    0 讨论(0)
  • 2021-02-11 12:43

    There is a distinction between path and url. A path in unix representation is the location where your particular file or directory exists. Like "/Users/username/Desktop/myfile.txt"

    Wheres a url not only contains the location but scheme as well, e.g: http:// or https:// and in our case a file url (file:///Users/username/Desktop/myfile.txt)

    Methods like fileExistsAtPath or removeItemAtPath need path in the parameter rather than a url.

    While methods like copyItemAtURL:toURL:error:(NSError * _Nullable *)error expects a url.

    Use path attribute of NSURL object to retrieve the path. absoluteString gives you the path along with the scheme.

    0 讨论(0)
  • 2021-02-11 12:45

    I was bashing my head against the wall for a few hours. Apparently on each and every run in xcode the app directory path was changing. The UUID part of it. So instead of storing the fullpath I ended up persisting the path postfix and prefixing that with whatever storage class is implied: temporary, cached or documents :-[

    0 讨论(0)
提交回复
热议问题