0

我正在开发一个行为类似于照片库的应用程序,并且我正在实现让用户从他们的画廊中删除照片的选项。为此,我决定在每张图片上放置一个隐形按钮。当用户点击“编辑”按钮时,每张图片上隐藏的删除按钮将变为活动状态。为了简单起见,我在每个隐藏按钮上使用了相同的 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”。我一直在研究这个错误,但没有找到任何有用的信息。我还是编程新手,所以我根本不知道如何解决这个问题。非常感谢任何帮助,谢谢!

4

1 回答 1

4

您需要将发件人转换为适当的类型。例如int imageIndex = ((UIView*)sender).tag;.

于 2012-04-03T21:58:26.083 回答