iphone - 如何使用 plist NSString 项作为 UIImageView 对象名称

标签 iphone ios reflection nsstring uiimageview

我正在尝试将数组项作为对象名称。

我设置了 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/

相关文章:

ios - 在 Swift 中检测可用的 API iOS 与 watchOS

Java 继承在反射中不被识别

iphone - 发送 'MapAnnotation *__strong' 到不兼容类型 'id<MKAnnotation>' 的参数

ios - ios 7 中的自定义 leftBarButtonItem 问题

ios - 将字符串数组传递给函数

html - WKWebview加载本地html文件并深层链接进入目标页面

c# - 创建具有任意参数的委托(delegate)

reflection - 如何设置结构字段抛出接口(interface)?

iphone - 从 OS4.2 开始,iAd 横幅在 iPad 上的高度是多少?

ios - 我可以在 UIScrollView 中使用 UIRefreshControl 吗?