gpt4 book ai didi

objective-c - 从 Controller 返回到前一个

转载 作者:太空狗 更新时间:2023-10-30 03:30:35 26 4
gpt4 key购买 nike

我正在尝试从我的 UIViewController 切换回我的 UITableViewController,但很明显它没有按照我想要的方式工作。我确实从一开始就用 Storyboard创建了我的界面,所以我并不是真的喜欢通过代码从一个 View 移动到另一个 View 。直到现在,我只是将我的 Views 按 sergues 推送,这很容易用 Storyboard实现。但是当我尝试回到我以前的 View 时,将实现一个新的 ViewController,因此我存储在旧 View 中的所有数据都“丢失”了。

实际上我无法向您展示代码(因为有锯齿)但情况是:

->我的 UITableView 中有一个 MutableArray 存储内容。

->用户点击扫描按钮,扫描一个应该导入我的数组的新项目。

->当我试图推回我的 tableView 时,有一个新的 Controller 在等待我,不知道我存储在旧 Controller 中的数据。

那么我如何简单地回到我的旧 Controller 以防止一直创建新 Controller ?

sergue-push 是否总是创建一个新的 Controller ?

(问题可能很简单,但我是新手。尝试了搜索功能提供的一些结果,但没有一个有效:( )

/edit: Popback问题已经解决,但数组填充问题仍然存在。代码:

GeneralSettings *sharedGS = [GeneralSettings sharedInstance];
sharedGS.strEAN = [[NSString alloc] initWithString:strCheckString];
[sharedGS.listArray insertObject:strCheckString atIndex:0];
NSLog(@"Anzahl der EAN-Codes: %d\nErster Code: %@\n In Variable: %@", sharedGS.listArray.count, [sharedGS.listArray objectAtIndex:0],sharedGS.strEAN);

sharedGS.strEAN 中的数据(“83274572354”即)listArray 中的数据(空)

最佳答案

你不要退缩。这创建了先前 Controller 类的新实例。你弹回来。您可以通过两种方式完成。

1: 当你想返回(弹出)给你的平板电脑 View Controller 时,在代码中放入以下语句。

[self.navigationController popViewControllerAnimated:YES];

2:如果你想在 Storyboard 中做到这一点,你需要实现以下自定义 segue 类:

实现

//  PopSegue.m

#import "PopSegue.h"

@implementation PopSegue

- (void) perform {

UIViewController *src = (UIViewController *) self.sourceViewController;
[src.navigationController popViewControllerAnimated:YES];
}

和标题

//  PopSegue.h

#import <UIKit/UIKit.h>

@interface PopSegue : UIStoryboardSegue

@end

将此方法放在您的 UIViewController 中以将属性设置回您的 UITableViewController:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"goBackToTableView"]) {
[[segue destinationViewController] set{whatEverProperyYouWantTo}: {valueOfPropertyToSet}];
}
}

关于objective-c - 从 Controller 返回到前一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9362749/

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