Ios PrepareForSegue是否未传递所有数据?

Ios PrepareForSegue是否未传递所有数据?,ios,objective-c,segue,Ios,Objective C,Segue,我正在使用一个模式序列将数据从SignUpViewController传递到RAVerificationViewController。出于某种原因,我的姓名、密码、电话和电子邮件值为零,但显示宿舍和角色选择(它们是从选择器中选择的值)。我看到它们是从第一个视图控制器正确传递的,但它们不会出现在下一个视图控制器中。救命啊 - (void)prepareForSegue:(UIStoryboardPopoverSegue *)segue sender:(id)sender { NSLog(@

我正在使用一个模式序列将数据从SignUpViewController传递到RAVerificationViewController。出于某种原因,我的姓名、密码、电话和电子邮件值为零,但显示宿舍和角色选择(它们是从选择器中选择的值)。我看到它们是从第一个视图控制器正确传递的,但它们不会出现在下一个视图控制器中。救命啊

- (void)prepareForSegue:(UIStoryboardPopoverSegue *)segue sender:(id)sender {
    NSLog(@"prepareForSegue: %@", segue.identifier);
    if ([segue.identifier isEqualToString:@"signUpToRAVerification"]) {
        RAVerificationViewController *ravc = (RAVerificationViewController *)segue.destinationViewController;
        NSInteger roleRow = [_rolePickerChoice selectedRowInComponent:0];
        NSString *role = [self pickerView: _rolePickerChoice titleForRow:roleRow forComponent:1];
        ravc.role = role;
        NSString *email = _emailOneField.text;
        ravc.name = _nameField.text;
        ravc.password = _passwordTwoField.text;
        ravc.email = email;
        ravc.phoneNumber = _phoneNumberField.text;
        NSInteger dormRow = [_dormPickerChoice selectedRowInComponent:0];
        NSString *dorm = [self pickerView: _dormPickerChoice titleForRow:dormRow forComponent:1];
        ravc.dormChoice= dorm;
    }
}
我在处理另一个VC中的数据时:

if([_raCodeField.text isEqualToString:code]) {
        NSLog(@"The email is: %@", email);
        //RA good to go, let's save him/her in our DB!
        PFUser* user = [PFUser user];
        user[@"role"] = _role;
        user[@"Name"] = name;
        user.password = password;
        user.email = email;
        user.username = email;
        user[@"phone_number"] = phoneNumber;
        user[@"dorm"] = _dormChoice;
        [user signUpInBackgroundWithBlock:^(BOOL succeeded, NSError *error)
对于整个SignUpViewController:


对于整个raVerificationViewController:

您没有向我们显示您的
raVerificationViewController
的头文件,但我几乎可以保证问题在于您的属性使用了
弱属性。您需要确保他们正在使用
strong
property属性


否则,数据将不会有任何强引用,它将从内存中释放。

缺少下划线是因为类顶部有“@synthesis”。。。它不会修复任何东西(我将它用于下划线,然后为每个损坏的属性添加了@synthesis,但这并没有修复任何东西),在大多数情况下,您不再需要使用@synthesis。那是自动为你处理的。从您的两个视图控制器中发布更多代码,以便我们可以看到您是如何进行所有设置的。请查看上面指向整个文件的附加文件链接。我不确定什么代码是相关的,所以我发布了两个VC的链接。它们又出现了:对于整个SignUpViewController:对于整个raVerificationViewController:我还设置了断点,并看到这四个变量(名称、电子邮件等)的类变量为零,但dorm和role choice设置正确。@VinamrataSingal如果记录字符串会发生什么?修复了它。raAuthenticationViewController类中变量的属性被赋予“弱”属性,而不是“非原子”属性