我正在尝试将数组项作为对象名称。
我设置了 5 个 UIImageView
:
@interface miniTestViewController : UIViewController {
NSArray *array;
IBOutlet UIImageView *sun;
IBOutlet UIImageView *moon;
IBOutlet UIImageView *rain;
IBOutlet UIImageView *snow;
IBOutlet UIImageView *hail;
}
-(IBAction)fadeChosenImage:(id)sender;
我的 plist 包含一系列图像名称:太阳、月亮、雨、雪、冰雹
在 .m VDL stub 中,该 plist 被读入 NSArray *array
。
UIButton
标记选择索引处的对象:
-(IBAction)fadeChosenImage:(id)sender{
NSString *image = [[NSString alloc] init];
image= nil;
switch ([sender tag]) {
case 0:
image = [array objectAtIndex:[sender tag]];
break;
case 1:
image = [array objectAtIndex:[sender tag]];
break;
case 2:
image = [array objectAtIndex:[sender tag]];
break;
case 3:
image = [array objectAtIndex:[sender tag]];
break;
case 4:
image = [array objectAtIndex:[sender tag]];
break;
default:
break;
}
我需要使用 NSString
作为 UIImageView
对象名称,如下所示:
[[array objectAtIndex:[sender tag]] setAlpha:0];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:6.0];
[[array objectAtIndex:[sender tag]] setAlpha:1];
但到目前为止,objectAtIndex
返回一个 NSString
,它不响应 setAlpha
消息。
是否可以将 NSString
转换/包装/转换/使用 UIImageVIew
的对象名称
非常感谢您的帮助。
最佳答案
直接将 ImageView 对象保存到数组中比尝试使用字符串检索它们要容易得多。
如果您想使用字符串作为键查找对象,请将它们存储在字典中。
然而,就您而言,您有一个数字索引。只需将 UIImageView 对象直接保存到数组中即可。这不会复制对象 - 它只是将它们的引用保存在数组中。
关于iphone - 如何使用 plist NSString 项作为 UIImageView 对象名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10360032/