iOS:标记错误

时间:2012-04-03 21:48:15

标签: objective-c ios xcode tags

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

1 个答案:

答案 0 :(得分:4)

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