gpt4 book ai didi

ios - 如何从已解除的导航 Controller 中的 TextView 捕获最终值

转载 作者:行者123 更新时间:2023-11-29 01:02:11 25 4
gpt4 key购买 nike

我有一个导航 Controller ,其中有 2 个 View Controller ..viewController(A) 和 viewController(B)。

在 ViewController(A) 中,我有代码为 ViewController(B) 定义左右导航项,然后将其推送到导航堆栈。演示者 viewController(A) 中的代码显示在此处...

-(void)presentImageEditor
{
IGCellPath *pathForCurrentCell = [self pathForCurrentCell];
iRpImageAndMedia *imageAndMediaItem = [thePropertyImageSet objectAtIndex:pathForCurrentCell.columnIndex];

iRpImageEditorViewController *viewControllerB = [[iRpImageEditorViewController alloc] initWithImageAndMediaItem:imageAndMediaItem];

viewControllerB.navigationItem.title = @"Photo Details Editor";
viewControllerB.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(imageEditorDone)];
viewControllerB.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemCancel target:self action:@selector(imageEditorCancelled)];
viewControllerB.edgesForExtendedLayout = UIRectEdgeNone;

[imageEditorNavController pushViewController:viewControllerB animated:YES];
}


-(void)imageEditorDone
{
[imageEditorNavController popViewControllerAnimated:YES];
[[iRpDatabase sharedInstance] saveChangesToDatabase];
}


-(void)imageEditorCancelled
{
[imageEditorNavController popViewControllerAnimated:YES];
[[iRpDatabase sharedInstance] rollbackChangesToDatabase];
}

我提出的 View Controller 中的代码... viewController(B) 有这个...

-(void)textViewDidEndEditing:(UITextView *)textView
{
if (textView == descriptionView)
{
[theImageAndMediaItem.mediaManagedObj setValue:textView.text forKey:@"desc"];
}
}

问题是,在呈现的 View Controller viewController(B) 中,当他们关闭 viewController(B) 时,viewController(A) -(void)imageEditorDone 之前触发viewController(B) -(void)textViewDidEndEditing:(UITextView *)textView 方法在此呈现的 View Controller 中... viewController(B)。因此,我无法捕获他们的最后一个条目并在他们关闭 View Controller 之前保存它,因为事件发生的顺序错误。我原以为你实际使用的 View Controller 会在呈现 View Controller 触发其事件 -(void)-(void)textViewDidEndEditing:(UITextView *)textView )imageEditorDone

如何确保在演示者代码触发将其关闭之前捕获他们在演示 View 中所做的最后一件事?

最佳答案

交换这些方法怎么样?

   [imageEditorNavController popViewControllerAnimated:YES];
[[iRpDatabase sharedInstance] saveChangesToDatabase];

关于ios - 如何从已解除的导航 Controller 中的 TextView 捕获最终值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36876311/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com