gpt4 book ai didi

ios - 将数据从一个 ViewController 中的某些 TextFields 传递到另一个 ViewController 中的 TextView

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

我是 iOS 的新手。我正在处理的 iOS 项目遇到一些困难。我相信这个问题应该有一个简单的解决方案,但我花了几个小时查看教程和该网站上的其他提交,但到目前为止没有任何效果。

我的问题是我在 ViewControllerS 中有 5 个 TextFields,我想从这些 TextFields 中获取数据,并将它们组合到 ViewControllerView 中的 TextView 中。这是我的代码。

ViewControllerS.h:

#import <UIKit/UIKit.h>

@interface ViewControllerS : UIViewController

@property (weak, nonatomic) IBOutlet UITextField *txtfDay;
@property (weak, nonatomic) IBOutlet UITextField *txtfMonth;
@property (weak, nonatomic) IBOutlet UITextField *txtfName;
@property (weak, nonatomic) IBOutlet UITextField *txtfStart;
@property (weak, nonatomic) IBOutlet UITextField *txtfEnd;
@property (weak, nonatomic) IBOutlet UIButton *btnFinish;

@end

ViewControllerS.m:

#import "ViewControllerS.h"

@interface ViewControllerS ()

@end

@implementation ViewControllerS

@synthesize txtfDay;
@synthesize txtfMonth;
@synthesize txtfName;
@synthesize txtfStart;
@synthesize txtfEnd;
@synthesize btnFinish;

- (void)viewDidLoad {
[super viewDidLoad];

}

- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];

}

#pragma mark - Navigation

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

}


@end

ViewControllerView.h:

#import <UIKit/UIKit.h>

@interface ViewControllerView : UIViewController

@property (weak, nonatomic) IBOutlet UITextView *txtViewFinal;

@end

ViewControllerView.m:

#import "ViewControllerView.h"

@interface ViewControllerView ()

@end

@implementation ViewControllerView

- (void)viewDidLoad {
[super viewDidLoad];

}

- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];

}


#pragma mark - Navigation

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

}

@end

嗯,正如您所看到的,这基本上只是我的程序的骨架。当我遵循教程、尝试这里的想法并听取同学们的意见时,我对这段代码进行了很多更改。到目前为止没有任何效果,但我知道这是一个简单的修复。我喜欢使用 NSUserDefaults,但如果有人有任何其他想法,我也会尝试它们。再说一次,我只是想弄清楚如何使用 TextFields 和 TextView 将数据从一个 ViewController 传递到另一个 ViewController。

我不需要所有 5 个的说明,而只需要 1 个。如果我在正确的方向上轻推,我可以弄清楚格式和其他 4 个。

感谢您为我提供的任何帮助!我确实很喜欢使用 Xcode 进行编程,但也很令人沮丧。谢谢!

最佳答案

它不起作用,因为在创建时,您的 ViewControllerView 实例仍然没有加载 UI 组件,因此即使您将其直接传递给 textView,此时它也会被忽略。

在 ViewControllerView.h 创建一个字典以从 ViewControllerS 传递数据,如下所示:

@property (nonatomic, strong) NSDictionary *dicTextData;

并将数据设置到其中。完成此操作后,只需从 ViewControllerView 的 -(void)viewDidLoad 中加载此数据,瞧!

更新

ViewControllerS.m

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

if([[segue identifier] isEqualToString:@"ViewControllerView"]) {

ViewControllerView *destination = segue.destinationViewController;
destination.dicTextData = @{@"day":self.txtfDay.text,
@"Month":self.txtfMonth.text,
@"Name":self.txtfName.text}; //and so on...
}
}

ViewControllerView.m

- (void)viewDidLoad {

self.txtViewFinal.text = [NSString stringWithFormat:@"My name is %@", [self.dicTextData objectForKey:@"Name"]];
//and so on...
}

请注意,我没有在示例中使用所有字段,但我相信您明白了。良好的编码!

关于ios - 将数据从一个 ViewController 中的某些 TextFields 传递到另一个 ViewController 中的 TextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29957640/

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