2016-07-16 19 views
0
  1. 包中的Menus.plist文件;
  2. 將文件複製到URL_DocDir_MenusPlist;fileExistsAtPath:NSFileManager的filePath方法不斷返回否

    (#define URL_DocDir_MenusPlist [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask].firstObject URLByAppendingPathComponent:@"Menus.plist"]) 
    
  3. 去文檔目錄和plist中存在,但

    [[NSFileManager defaultManager] fileExistsAtPath: URL_DocDir_MenusPlist.absoluteString] 
    

    方法回頭率NO。

PS。在設備和模擬器中。

在此先感謝:)

+0

如果我使用Str_DocDir_MenuPlist代替(#定義Str_DocDir_MenuPlist [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES)firstObject] stringByAppendingPathComponent:@ 「Menus.plist」]),然後返回YES。有人可以告訴我爲什麼嗎? – CoderWang

回答

0

問題是屬性absoluteString與返回完整的URL包括在計劃(file://)。

fileExistsAtPath正確的屬性是path

URL_DocDir_MenusPlist.path 

旁註:

  1. 我建議的NSURLcheckResourceIsReachableAndReturnError代替fileExistsAtPath

  2. 請使用可可命名約定:

    • 變量名稱以小寫字母和駱駝大小寫開頭,而不是下劃線分隔符。
    • 常量或宏名稱,其全名以大寫字母和下劃線分隔。
+0

非常感謝解釋和'Side notes':1-> i將嘗試。2 - >我應該使用URL_DOCDIR_MENUSPLIST。 – CoderWang

0

我認爲,在名稱前綴不能與「URL」,這是建立在由蘋果保留關鍵字來啓動。

+0

感謝您的回答,我認爲這不是原因。區別在於:URL_DocDir_MenusPlist.absoluteString類似於'file:/// var/mobile/xx',而Str_DocDir_MenuPlist類似於'/ var/mobile/xx' – CoderWang