【问题标题】:Proper way to store resources filenames in Objective C在 Objective C 中存储资源文件名的正确方法
【发布时间】:2011-07-28 13:23:57
【问题描述】:

您建议以什么方式存储资源的文件名(例如图像) 我使用#define 结构将它们存储为常量,但我认为这很丑陋,因为如果您导入其标题,那些#define 在类外部可见。

据我了解,存储文件名的方法很少:

  • #define - 我在上面描述了缺点
  • 代码中的硬编码文件名(如[UIImage imageNamed:@"test.png"] 我认为这种方式很难维护好的代码
  • 带有字典的属性文件(同样,我们需要在代码中的某处存储键) ....

我确信有更好的方法来做到这一点。可以分享一下你是用什么方式的吗?

实际上我对数字private 常量有同样的问题。例如自定义视图的按钮来源等..在课堂外不应该可见。

【问题讨论】:

    标签: iphone objective-c ios ipad macos


    【解决方案1】:

    我认为硬编码文件名并不总是不可接受的,如果有一个对文件的引用,并且引用的上下文(或附加的注释)清楚地表明文件名的作用是什么。

    由于类型检查问题,我很少推荐使用#define 作为常量。在 Objective C 中,可以用

    定义一个常量
    NSString * const kSomeImageFilename = @"myImage.png";
    

    【讨论】:

      【解决方案2】:

      在具有大量资源的项目中,我的团队练习将资源放在 plist 中。在这种情况下修改资源文件名只需要在 plist 中进行适当的更改。然后从 plist 中按键检索资源名称。

      【讨论】:

        猜你喜欢
        • 2012-06-16
        • 1970-01-01
        • 2011-06-02
        • 1970-01-01
        • 2016-07-17
        • 2022-11-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多