标题基本概括了所有内容。我想创建一个 NSMutableDictionary,在其中使用 UIImageViews 来查找布尔值。这是它的样子:
我的 .h 文件:
@interface ViewController : UIViewController{
UIImageView *image1;
UIImageView *image2;
NSMutableDictionary *isUseable;
}
@property (nonatomic, retain) IBOutlet UIImageView *image1;
@property (nonatomic, retain) IBOutlet UIImageView *image2;
@property (nonatomic, retain) NSMutableDictionary *isUseable;
我的 .m 文件:
@synthesize image1, image2;
@synthesize isUseable
- (void)viewDidLoad
{
isUseable = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@NO, image1,
@NO, image2,nil];
}
-(void)runEvents{
if(some condition){
[isUseable setObject:@YES forKey:(id)image1];
}
//Use it later:
if(isUseable[image1]){
//Do stuff
}
}
它可以编译,但是当我运行它时,我得到一个未捕获的异常 'NSInvalidArgumentException',原因:'-[UIImageView copyWithZone:]: unrecognized selector sent to instance。
我猜问题在于 NSDictionary 类复制了它的键。有没有办法让字典在这种情况下工作?如果没有,我应该如何设置我想要的查找?有什么想法/建议吗?