- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我目前有两个 View Controller ,我通过 Storyboard segue(导航 Controller )将它们链接起来。当用户在第一个 View 上按下按钮时,屏幕转到第二个 View 。在第二个 View 中,有文本字段,以便用户可以编辑详细信息。当我按下后退导航按钮时,如何将详细信息从第二个 View Controller 传递回第一个 View Controller ?
我使用此代码将数据从第一个 View Controller 发送到第二个 View Controller
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
SettingsViewController *settingsViewController = [segue sourceViewController];
[settingsViewController setAddressString:[self addressString]];
NSLog(@"Settings address string of SettingsViewController to: %@", [self addressString]);
}
viewWillDisappear
第二个 View Controller 的方法。但是有没有一种方法可以使用 segue 方法?这样做的推荐方法是什么?
最佳答案
您可以使用委托(delegate)。
在您的第二个 View Controller 头文件中,您必须创建一个委托(delegate)方法。
@protocol SettingsDelegate <NSObject>
- (void)userHasCompletedSettings:(NSArray *)userSettings;
@end
@interface SettingsViewController : UIViewController
@property id<SettingsDelegate>delegate;
// Any other properties you have
@end
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
SettingsViewController *settingsViewController = [segue sourceViewController];
[settingsViewController setAddressString:[self addressString]];
NSLog(@"Settings address string of SettingsViewController to: %@", [self addressString]);
settingsViewController.delegate = self;
}
- (IBAction)backButtonPressed:(id)sender
{
// Package up your settings details in the array
[self userHasCompletedSettings:arrayOfMySettings];
[self dismissViewControllerAnimated:YES completion:nil];
}
-(void)userHasCompletedSettings:(NSArray *)userSettings
{
// Do what you need to do with the settings.
}
关于ios - Objective-C Storyboards Segue - 将数据从目的地传回 sourceViewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19844727/
我想通过 segue 将我的 View Controller “滑出”到 destinationViewController 上方。这是我的代码: override func perform() {
我目前有两个 View Controller ,我通过 Storyboard segue(导航 Controller )将它们链接起来。当用户在第一个 View 上按下按钮时,屏幕转到第二个 View
在 UIStoryboardSegue类、属性sourceViewController显然是 UIViewController .为什么 Apple 将此属性标记为 id ? @property(no
我是一名优秀的程序员,十分优秀!