故事板 视图控制器 SecondViewController
我想在使用小数点填充TextFieldNumber中的数字后,从模态SecondViewController传递LabelNumber(在ViewController中)中的数据(aNumber,变量NSString)。 我在SecondViewController中添加了一个关闭按钮(条形按钮项)并连接到Segue(mySegue)。 在ViewController中,有一个链接到SecondViewController的Round Rect Button 这是ViewController.m中的代码
#import "ViewController.h"
#import "SecondViewController.h"
@interface ViewController ()
@property (weak, nonatomic) IBOutlet UILabel *LabelNumber;
@property (weak, nonatomic) SecondViewController * SecondScreen;
- (void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if ([segue.identifier isEqualToString: @"mySegue"]){
self.SecondScreen = segue.destinationViewController;
self.SecondScreen.aNumber = self.LabelNumber.text
}
- (IBAction)close:(UIStoryboardSegue*)sender {
if([sender.identifier isEqualToString:@"mySegue"] ){
self.LabelNumber.text = self.SecondViewController.aNumber;
}
在SecondViewController.h中我有这段代码:
#import <UIKit/UIKit.h>
@interface SecondViewController : UIViewController
@property (strong, nonatomic) NSString* aNumber;
@end
在SecondViewController.m中我有这段代码:
#import "ViewController.h" #import "SecondViewController.h" @interface SecondViewController () <UITextFieldDelegate>
@property(强,非原子)IBOutlet UITextField * TextFieldNumber; @end
- (void)viewDidLoad
{
[super viewDidLoad];
[self.TextFieldNumber becomeFirstResponder];
self.TextFieldNumber.delegate = self;
self.TextFieldNumber.text = self.aNumber;
}
- (IBAction)getValue:(UITextField *)sender {
self.aNumber = self.TextFieldNumber.text ;
[self.TextFieldNumber resignFirstResponder];
}
最后,我总是在SecondViewController.m中添加,即使我不想关闭键盘,但我希望它始终保持打开状态,并希望在关闭按钮中捕获TextNumber值(aNumber) (模态放松)。
- (BOOL)textFieldShouldReturn:(UITextField *)textField { if(textField == self.TextFieldNumber) [self.TextFieldNumber resignFirstResponder]; 返回YES; }
答案 0 :(得分:1)
如果我理解正确,你有两个选择:
[self.delegate secondViewControllerWillDismiss:value]
NSNotification
。在这种情况下,您必须在NSDictionary
中编写参数,以便与通知本身一起传递。如果不清楚我可以写一些小例子。