码迷,mamicode.com
首页 > 其他好文 > 详细

解决[[NSFileManager defaultManager] contentsOfDirectoryAtPath 方法获取不到数据的bug

时间:2014-10-24 11:01:57      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:ios   error   bug   

在说这个问题之前,必须先解释一下,我们在引入工程的时候,xcode会给我们3个选项

bubuko.com,布布扣


1.Copy items if needed

主要是说明,是否要将文件拷贝到工程所在目录。

如果不选中,而且该库文件不在工程目录下,引入文件的时候就仅仅是引入逻辑链接,不拷贝文件。(如果库文件移动,则可能在编译工程的时候出错)

如果选中,则将该文件拷贝到工程目录下(系统推荐的方式),虽然引用的也是逻辑链接,但是不会因为引动库文件而引起错误


2.Create groups

把选择的文件添加到工程的group下,如果你选择的是文件,则把文件夹认为是group。他添加的文件夹对应的工程目录和文件路径不一定是一一对应的。你可以删除文件,可以把这个文件删除在工程外,也可以删除文件对应的本地文件。应该它生成的文件夹是黄色的。

例如:bubuko.com,布布扣


3.Create folder references

这种方法是建立一个文件夹的索引,同时文件夹中的所有文件也会添加到整个工程。他添加的文件夹对应的工程目录和文件路径是一一对应的。你要删除其中的文件的话可以直接到文件目录下把文件删除,然后再刷新一下目录,文件就会被删除了。这样添加文件夹的方法很方便,你在做cocos2d的工程时应该会经常用到。应该他生成的文件夹是蓝色的。

例如:bubuko.com,布布扣


通过Show in Finder 打开工程,右键两个文件夹可以看出

bubuko.com,布布扣bubuko.com,布布扣

我使用 [[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

解决[[NSFileManager defaultManager] contentsOfDirectoryAtPath 方法获取不到数据的bug

标签:ios   error   bug   

原文地址:http://blog.csdn.net/ioswyl88219/article/details/40422755

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!