iphone - 如何在 iPhone 应用程序中枚举和加载资源?

标签 iphone cocoa-touch

我正在尝试使用资源中的图像集合填充 NSArray。但是,为了获得最大的灵 active ,我试图避免对文件名甚至有多少个文件进行硬编码。

通常,我会从苹果的示例代码中执行类似以下操作:

kNumImages = 5;  //or whatever
NSMutableArray *images;
for (i = 1; i <= kNumImages; i++)
{
    NSString *imageName = [NSString stringWithFormat:@"image%d.jpg", i];
    [images addObject:[UIImage imageNamed:imageName];
}

但是,我试图完全避免 kNumImages。有没有办法在资源上运行正则表达式或其他东西?

最佳答案

这是一个从我的 iPhone 应用程序中执行此操作的代码片段

// Load item icons  
paths = [[NSBundle mainBundle] pathsForResourcesOfType:@"png" inDirectory:nil];
for (NSString *filename in paths) {
  filename = [[filename componentsSeparatedByString:@"/"] lastObject];
  if ([filename hasPrefix:@"ItemIcon"]) {
    [UIImage imageNamed:filename];
  }
}

它循环遍历所有具有 png 扩展名的资源,并且文件名以“ItemIcon”开头,然后加载到 UIImage 的内置缓存中。

如果它们位于特定目录中,则需要指定indirectory:参数。

关于iphone - 如何在 iPhone 应用程序中枚举和加载资源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/513480/

相关文章:

ios - 更改iOS通讯录中的群组名称(ABGroup)

objective-c - 了解协议(protocol)和委托(delegate)之间的关系

iphone - 如何使用 "images"组来存储iPhone应用程序图像

ios - 在 iPhone 中将 UIViewController 显示为弹出窗口

ios - iOS Dev- Hook 到应用程序音频输出

ios - iPhone ipa 分发 ike Diawi.com 的任何替代方式?这个网站最近几天不能用

iphone - __clang_analyzer__ 的重要性

iphone - 仅在 320x480 区域检测到 iPad touch

iphone - delegate 在 xcode ios 项目中到底做了什么?

iphone - 生产者消费者与核心数据的问题