如何将UITextView中的文本从一个视图控制器转移到另一个iOS

时间:2015-07-27 15:26:27

标签: ios objective-c parse-platform nsstring viewcontroller

我想将测验vc中的文字带到类别vc,以便我可以上传到parse.com。用户将文本输入到下一个UITextView按下并转到类别VC并通过parse.com发送

在quiz.h文件中

@property (nonatomic,strong) IBOutlet UITextView *textField;
@property (nonatomic, strong) NSString *text;

在quiz.m

    NSString *text = [NSString stringWithFormat:@"%@", [self.textField text]];

IBAction next method{
 categoryViewController *cvc = [[selectFriendsViewController alloc] init];
            cvc.string = text;
            [cvc setString:text];
}
中的

@property (nonatomic, retain)  NSString *string;

selectfriends vc.m

- (void)viewDidLoad {
    [super viewDidLoad];

    quizViewController *qvc = [[quizViewController alloc] init];
    qvc.text = self.string;
    UITextView *textfield = [[UITextView alloc] init];
    self.string = textfield.text;
    [self.textField setText:self.string];
    NSLog(@"%@", self.string);
}

字符串不打印并且它不显示null +我无法删除viewdidload中的任何内容,因为然后文件然后不上传到parse.com(我将文本上传为文件)。 parse.com上的textfile为空。如何让字符串显示并上传到解析?

3 个答案:

答案 0 :(得分:0)

我通常做的是使用NSObject的子类创建另一个类 - (我通常将其称为连接器)。

在connector.h文件中 - 根据需要添加尽可能多的字符串属性(例如,一个名为' foo'的字符串)

导入'连接器'和你的第二个VC进入你的第一个VC。

在你的第二个VC.h文件中添加:

@property(nonatomic,strong) Connector *connector;

并导入connector.h

然后在第一个VC中的prepareForSegue方法中添加:

Connector *connector = [[Connector alloc]init];
SecondVC *secondVC = [segue.destinationViewController];
connector.foo = string ; (this is your string)
secondVC.connector = connector;

然后剩下要做的就是在你想要合成属性的secondVC.m文件中的@implementation下。

@synthesize connector;

然后您应该通过执行以下操作来访问该属性:

NSString *secondVCString = connector.foo;

我离开我的Mac - 但我认为这是正确的。

答案 1 :(得分:0)

因为你的category.h

@property (nonatomic, retain) NSString *string;

你可以像这样覆盖.m文件中的setter方法:

- (void)setString:(NSString *)string {
    _string = string; //make sure you keep reference to it for future use

    //Send to Parse here
}

答案 2 :(得分:0)

我花了一些时间来解决这个问题,但后来我意识到这更容易了。

首先我们将textview的文本存储在nsuserdefaults中,然后在另一个视图控制器中,你想要获取数据,我们使用与保存数据相同的密钥来检索nsuserdefaults的数据。

希望你喜欢这个答案。