0

iOS:我有打开一些内容的应用程序,我在右侧导航栏上添加了按钮,可以从保存的捕获中删除消息内容,现在我想在删除消息之前放置符合用户的确认操作,我创建了 UIActionsheet 像这样:

sheet = [[UIActionSheet alloc] initWithTitle:@"Delete Message" delegate:self cancelButtonTitle:@"Cancel"   destructiveButtonTitle:@"Delete Message" otherButtonTitles:nil];
 // view sheet 
 [sheet showInView:self.view];
 NSLog(@"Button %d", buttonIndex);

现在我如何在我的 deleteContent 函数中使用这个值?我的删除功能是

-(void) deleteContent 
{
   if (buttonIndex=0)
     {
      [[NSFileManager defaultManager] removeItemAtPath:fileName error:&e];
     }
}

我的问题是我怎样才能在一个函数中重新排列它,这个函数可以在一次调用中调用并完成所有这些。

4

2 回答 2

1

这不是这样做的方法。从导航栏中的按钮调用函数以显示操作表。然后实现 UIActionSheetDelegate 方法 actionSheetDidDismissWithButtonIdex 来获取您实际删除的汽车。

编辑:如果您需要从导致显示操作表的方法中传递要删除的项目的标识,只需向您的 presentActionSheet 方法添加一个参数并传递该项目。

于 2012-09-25T02:01:12.500 回答
0

有同样问题的人:

为可以调用弹出窗口的按钮创建一个函数,如下所示:

-(void)popUp
{

    sheet = [[UIActionSheet alloc] initWithTitle:@"Are you Sure?"
                                        delegate:self
                               cancelButtonTitle:@"Cancel"
                          destructiveButtonTitle:@"Delete Message"
                               otherButtonTitles:nil];
    // Show the sheet
    [sheet showInView:self.view];
    //[sheet release];
    NSLog(@"Button %d", buttonIndex);
}

而不是创建一个更多的函数来处理基于弹出操作的删除部分,如下所示:

   - (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex
    {
        if (buttonIndex == 0) {  //delete it

            //delete from database
            //delete from folder
            [[NSFileManager defaultManager] removeItemAtPath:fileName error:&e];
            //close
            [[self navigationController] popViewControllerAnimated: YES];
        }else if {
             NSLOG(@"USER said No");
        }

    }
于 2012-09-25T05:06:54.770 回答