将数据从UIViewController传递给UIViewController
所以我有这个UINavigationController,我正在第一个移动到下一个视图,比我想点击“后退”button,并返回到第一个视图与数据,我保存到第二个视图上的“strAddress” 。 我想在“lblShowStr.text”的第一个视图上显示数据。
我怎么能做到这一点? 我搜查了所有的网页,发现有些人写了,但不明白他们在那里被告知了什么。
谢谢!
在你的第一个视图控制器中,你可能有一个叫做strAddress的NSString属性。 并且每次出现视图时都将该string放入lblShowStr.text中。
在你的第二个视图控制器中,你可能有一个指向视图控制器的实例的属性。 当你实例化你的第二个视图控制器时,你可以把它的属性分配给第一个视图控制器。
secondViewController.firstViewController = self; 或[secondViewController setFirstViewController:self];
然后当用户按下后退buttonviewDidAppear将被调用的第一个视图和更新string。
我假设你不想在任何其他地方存储这个数据,例如在你的模型或nsuserdefaults等
您可以通过以下方法获得对导航堆栈中前一个viewController的引用:
NSArray *viewControllers = self.navigationController.viewControllers; MyViewControllerClass *previousController = [viewControllers objectAtIndex:[viewControllers count] - 2];
然后,您可以在“上一个”视图控制器上设置一个属性来存储文本,甚至直接设置标签sockets的文本,如下所示:
previousController.lblShowStr.text = self.strAddress;
这不是最好的方法(最好的方法是创build一个自定义委托协议或使用NSNotificationCenter),但这是最简单的方法。
- Spotify:使用网页apilogin不接受redirecturl
- AFNetwork 2.0队列与完成块?
- 核心数据中的谓词搜索会导致第二次SIGABRT。 NSBetweenPredicateOperatorType
- iOS NSUserDefaults监视单个键值的更改
- 我怎样才能在Swift中获取值types或自定义结构的内存地址?
- 是否可以在UIProgressView中添加多个颜色?
- NSXMLParser解析器:parseErrorOccurred:未在iOS 7上调用
- iOS Twitter用户 – 时间线获取v1.1 API
- 将UIPageViewController滑动与iOS 7 UINavigationController反向滑动手势相结合