• 解决[[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

  • 相关阅读:
    10、ERP设计之系统基础管理(BS)- 平台化设计
    SendMessage发送自定义消息及消息响应
    【iOS开发】 常遇到的Crash和Bug处理
    UVA 11100 The Trip, 2007 贪心(输出比较奇葩)
    Android_多媒体_SoundPool声音池使用
    Django之逆向解析url
    Oracle中四种循环(GOTO、For、While、Loop)
    Android监控程序本身被卸载方法汇总
    Cocos2dx项目启程一 之 封装属于我的精灵类
    Android-->发送短信页面实现(短信发送以及群发和从电话本中选择联系人)-----------》2
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/6726067.html
Copyright © 2020-2023  润新知