我正在开发一个行为类似照片库的应用,我正在实施让用户从其图库中删除照片的选项。为了做到这一点,我决定在每张照片上放置一个隐形按钮。当用户点击“编辑”按钮时,每张图片上的隐藏删除按钮变为活动状态。为简单起见,我在每个隐藏按钮上使用相同的IBOutlet,并且我在Interface Builder中适当地标记了每个按钮。当用户点击图片上的按钮时,会出现警告视图,询问他们是否确实要删除它。如果他们点击是,我会拨打removeObjectAtIndex
。这是我正在使用的代码:
- (IBAction)deleteButtonPressed:(id)sender {
UIAlertView *deleteAlertView = [[UIAlertView alloc] initWithTitle:@"Delete"
message:@"Are you sure you want to delete this photo?"
delegate:self
cancelButtonTitle:@"Yes"
otherButtonTitles:@"No", nil];
[deleteAlertView show];
int imageIndex = sender.tag;
deleteAlertView.tag = imageIndex;
}
- (void)deleteAlertView:(UIAlertView *)deleteButtonPressed
didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (buttonIndex != [deleteButtonPressed cancelButtonIndex]) {
[array removeObjectAtIndex:deleteButtonPressed.tag];
}
[self.user setObject:array forKey:@"images"];
}
我收到的错误是突出显示int imageIndex = sender.tag;
,并说明找不到类型为tag
的对象的属性__strong id
“。我一直在研究这个错误,并没有找到任何有用的信息。我还是编程的新手,所以我不知道如何解决这个问题。非常感谢任何帮助,谢谢!
答案 0 :(得分:4)
您需要将发件人转换为适当的类型。例如int imageIndex = ((UIView*)sender).tag;
。