iOS: 我有app打开一些内容,我在右侧导航栏上添加了按钮,可以从已保存的catch中删除消息内容,现在我想在删除消息之前放置符合用户的构造操作, 我已经创建了这样的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];
}
}
我的问题是如何在一个函数中重新排列这个函数,这个函数可以在一次调用中调用并完成所有这些。
答案 0 :(得分:1)
这不是这样做的方法。从导航栏中的按钮调用功能以显示操作表。然后实现UIActionSheetDelegate方法actionSheetDidDismissWithButtonIdex以获取您实际删除的信息。
编辑:如果您需要从导致显示操作表的方法中传递要删除的项目的标识,只需向您的presentActionSheet方法添加一个参数并传递该项目。
答案 1 :(得分: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");
}
}