解决[[NSFileManager defaultManager] contentsOfDirectoryAtPath 方法获取不到数据的bug
在說這個問題之前,必須先解釋一下,我們在引入project的時候,xcode會給我們3個選項
1.Copy items if needed
主要是說明,是否要將文件復制到project所在文件夾。
假設不選中。并且該庫文件不在project文件夾下。引入文件的時候就不過引入邏輯鏈接,不復制文件。(假設庫文件移動,則可能在編譯project的時候出錯)
假設選中,則將該文件復制到project文件夾下(系統推薦的方式)。盡管引用的也是邏輯鏈接,可是不會由于引動庫文件而引起錯誤
2.Create groups
把選擇的文件加入到project的group下,假設你選擇的是文件。則把目錄覺得是group。他加入的目錄相應的project目錄和文件路徑不一定是一一相應的。你能夠刪除文件,能夠把這個文件刪除在project外,也能夠刪除文件相應的本地文件。應該它生成的目錄是黃色的。
比如:
3.Create folder references
這樣的方法是建立一個目錄的索引。同一時候目錄中的全部文件也會加入到整個project。
他加入的目錄相應的project目錄和文件路徑是一一相應的。你要刪除當中的文件的話能夠直接到文件目錄下把文件刪除,然后再刷新一下目錄。文件就會被刪除了。這樣加入目錄的方法非常方便。你在做cocos2d的project時應該會經經常使用到。應該他生成的目錄是藍色的。
比如:
通過Show in Finder 打開project,右鍵兩個目錄能夠看出
我使用 [[NSFileManager defaultManager] contentsOfDirectoryAtPath 本意是獲取bundle中的資源,所以用Create folder references,就能夠解決獲取為nil的bug了
參考文章:http://blog.csdn.net/yu0089/article/details/16984985
http://www.cnblogs.com/taintain1984/p/3423773.html
http://www.cocoachina.com/bbs/simple/?t20533.html
http://www.4byte.cn/question/21930/unable-to-copy-folder-from-application-bundle-to-document-directory.html
轉載于:https://www.cnblogs.com/jzssuanfa/p/6726067.html
總結
以上是生活随笔為你收集整理的解决[[NSFileManager defaultManager] contentsOfDirectoryAtPath 方法获取不到数据的bug的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows远程命令执行0day漏洞安
- 下一篇: wsdl 结构解析