在视图控制器和表视图控制器之间传递数据

时间:2016-06-27 06:46:44

标签: ios objective-c uitableview nsmutablearray

我正在尝试将字符串值'_passedDataDate'viewController传递到TableView Controller。在TableViewController中,我试图将其保存在数组'_dateArray'中。在尝试这样做时,首先插入一个nil对象,然后插入真实对象。如何避免添加这个零值?

以下是代码,

- (void)viewDidLoad {
    [super viewDidLoad];
    _dateArray = [[NSMutableArray alloc] init];
    _dateString = _passedDataDate;
    if(_dateString){
        [_dateArray addObject:_passedDataDate];
        NSLog(@"Added Passed Data");
        NSLog(@"%ld",[_dateArray count]);
    }
    else{
        NSLog(@"No object Added");
        NSLog(@"%ld",[_dateArray count]);
    }



}

输出如下:

没有添加任何对象 0 添加了传递数据 1

为什么没有添加对象?我不想要它会发生什么呢?

另外,我收到以下警告,

警告:尝试显示其视图不在窗口层次结构中!

1 个答案:

答案 0 :(得分:0)

不要在按钮操作中使用Segue。

隐藏segue

[self performSegueWithIdentifier:@"pass" sender:nil];

试试这个:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
 {
    if ([segue.identifier isEqualToString: @"pass"]) 
    {
        TableViewController *tableView = [segue destinationViewController];
        tableView.passedDataDate = @"HAI";tableView.passedDataDestination = @"Hellio";
     }
 }