推送数据从一个UIViewController到另一个

问题描述:

我推送一个字符串从一个UIViewController到另一个到目前为止,我成功做到了这一点,但是,当我将推送的字符串添加到NSMutableArray和NSLog数组总数时,它总是返回0这里是我的代码:我正在使用故事板,并且是否需要将第二个视图引用到视图中进行加载?推送数据从一个UIViewController到另一个

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    // Do any additional setup after loading the view, typically from a nib. 

    [_TableView setDelegate:self]; 
    //[_TableView setDataSource:self]; 
    _numberOfRows = [[NSMutableArray alloc]init]; 
} 

-(void)pushName:(NSString*)contactName 
{ 
    //NSLog(@"Pushed name is: %@ ", contactName); 
    _contactName = contactName; 
    NSLog(@"Pushed name is: %@ ", _contactName);//<-- Returns the pushed string fine 

    [_numberOfRows addObject:contactName]; 
    //[self.TableView reloadData]; 
    NSLog(@"Number of names: %d ", [_numberOfRows count]);//<--Always returns a 0 

} 

不太确定为什么这不起作用。如果需要更多的代码来澄清这个问题,那么请不要问。

+0

看看这里http://*.com/a/16142163/1328096 – jamil

+0

@Undo不,这不是一个重复的问题我没有通过一个NSMutableArray im传递一个单一的字符串我只想填充一个数组第二个UIViewController他们是完全不同的问题bro – Led

+0

@one同样的原则。任何传递数组的东西都可以传递一个字符串。只需查看答案并用'NSString'替换'NSMutableArray'即可。 – Undo

当您调用pushName时,您的数组似乎尚未实例化。

您能否向我们提供您称之为何处的环境?

编辑:只是阐述。你的问题不是在两个控制器之间传递数据。你的问题似乎是你的数组没有响应addObject和计数消息。

尝试在你的数组上使用懒惰实例,它应该工作。

编辑2:代码片段: 尝试添加方法:

- (NSMutableArray *)numberOfRows: 
{ 
    if(_numberOfRows == nil) _numberOfRows = [[NSMutableArray alloc] init] 
    return _numberOfRows 
} 

你在哪里使用_numberOfRows尝试使用self.numberOfRows,即

[self.numberOfRows addObject:contactName]; 
//[self.TableView reloadData]; 
NSLog(@"Number of names: %d ", [self.numberOfRows count]);//<--Should return 1 or more now. 

编辑3:哦,如果你做,你可以删除viewDidLoad上的实例。但你知道这一点。

编辑4:修复代码片段。对不起,我编辑这么多。只是试图确保你得到正确的答案。

+0

非常感谢我正在寻找 – Led