我正在尝试使用资源中的图像集合填充 NSArray。然而,为了获得最大的灵活性,我试图避免对文件名甚至有多少个文件进行硬编码。
通常,我会从苹果的示例代码中执行类似以下示例的操作:
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:参数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)