iphone - 在 Objective C 中存储资源文件名的正确方法

标签 iphone objective-c ios ipad macos

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

据我所知,有几种存储文件名的方法:

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

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

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

最佳答案

我认为对文件名进行硬编码并不总是 Not Acceptable ,如果对文件只有一个引用,并且引用的上下文(或附加注释)使文件名的作用一目了然。

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

NSString * const kSomeImageFilename = @"myImage.png";

关于iphone - 在 Objective C 中存储资源文件名的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5528437/

相关文章:

iOS 获取键盘窗口

iphone - 在全屏模式下添加 MPMoviePlayerController?

android - 谷歌分析 : tracking traffic from multiple devices

iphone - 在iPhone模拟器上成功编译Speex,但在iOS设备上编译失败

ios - 错误 ITMS-90596 : "Invalid Bundle. The asset catalog at ' Payload/Limon chilli. app/Assets.car' 无法读取

objective-c - 如何将值传递给@protocol

ios - NSBatchDeleteRequest留下不良关系

IOS推特应用添加图片

ios - AVUser、AVFile报错

iphone - 使用 XIB 自定义 UIButton