ios - NSString 在 segue 之后没有被正确传递

标签 ios segue

我正在使用似乎可以正常工作的 Storyboard和条件转场。但是,当我将字符串传递给新 View Controller 时,当我尝试使用 NSLog 打印它时,它在新 View Controller 中显示为 null。

VC1:

[self performSegueWithIdentifier: @"userDetailsSegue" sender: self];


    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"userDetailsSegue"])
{
    UIStoryboard *mainStoryboard1 = [UIStoryboard storyboardWithName:@"MainStoryboard" bundle:nil];
    tableView1 * secondView = (tableView1*)[mainStoryboard1 instantiateViewControllerWithIdentifier:@"userDetails"];
    //tableView1 * secondView = [[tableView1 alloc] init];
    [secondView setNetID:userNameTextField.text];
    //NSLog(secondView.netID);
    NSLog(@"Works");
}
}

VC2.h:

#import "ViewController.h"
@interface tableView1 : UITableViewController
{
    NSString *netID;
}

@property (nonatomic, retain) IBOutlet NSString *netID;

@end

VC2.m:

- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"my netID is: %@", netID);
NSLog(@"test:");}

输出:

2013-04-25 10:23:56.576 HwPlusPlus[14240:c07] Works
2013-04-25 10:23:56.579 HwPlusPlus[14240:c07] my netID is: (null)
2013-04-25 10:23:56.580 HwPlusPlus[14240:c07] test:

我试图设置 netID = [[NString alloc] init];在 VC2 中,但这也无济于事。知道我做错了什么吗?它拉起第二个 View Controller ,刚刚找到

最佳答案

下次请为您的VC的第一个字符使用大写字母,并尝试为VC选择有意义或唯一的名称

VC1:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if([[segue identifier] isEqualToString:@"userDetailsSegue"])
    {
        tableView1 * secondView =segue destinationViewController];
        secondView.netID=userNameTextField.text;
    }
}

VC2.h:

#import "ViewController.h"
@interface tableView1 : UITableViewController
{
    NSString *netID;
}

@property (nonatomic, strong)NSString *netID;

@end

VC2.m:

@implementation tableView1
@synthesize netID;
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"my netID is: %@", self.netID);
}

关于ios - NSString 在 segue 之后没有被正确传递,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16218952/

相关文章:

ios - 奥林巴斯相机套件 : Cannot update exposure compensation value soon after

iOS Swift 转场

iOS 将数据从表格单元格传递到新的 View Controller

swift - 从 Collection View 执行segue

ios - 显示状态栏和提示通知下拉

python - Windows.screenshot 在 iOS 上返回黑屏

ios - segueForUnwindingToViewController 导致 "Warning: Attempt to present <...> on <...> which is already presenting <...>"

ios - 由于发送到 VC 的无法识别的选择器导致应用程序崩溃

ios - 在 Flutter 中显示适用于 iOS 的 PDF 内联文件

ios - 如何在推送 View 之前加载 PDF