2014-04-01 32 views
0

我在这里找到了一些困难。我正在设置一个UITableView,用户可以在其中添加内容。我完成了AddViewController,用户可以通过按下UIBarNavigationButton上的+,然后将Segue推送到我的AddViewController。获取数据传回第一的ViewController

在这里,在我的AddViewController是用户的数据存储在数组中。现在我怎么得到我的UITableView中的数据在我FirstViewController阵列?我正在考虑从保存UIBarNavigationButton的另一个Push Segue并将User数组推入TableView数据?

这是正确的做法吗?

亲切的问候

+0

你问如何从viewController A到viewController B的数据? – Tander

+0

我在问,我在想的方式是否正确,或者我需要以另一种方式来做。 – Kets

回答

2

什么Tander说按照顺序,你应该使用一个展开赛格瑞推。 Follow this example as a general guideline.

使用类似的设置像这样在你的FirstViewController

//FirstViewController.m 

- (IBAction)setArrayFromPreviousController:(UIStoryboardSegue *)segue 
{ 
    AddViewController *controller = [segue sourceViewController]; 

    //old array and new array are the two array variable names 
    [self setOld_array:[controller new_array]]; 
} 

或者,你可以用代理一起使用协议的方法。这是多一点点复杂:

如何完成这个伟大的教程,可以发现here.

0

在您的TVC,你必须创建它接受一个UIStoryboardSegue(我认为)的动作。在AddVC上,您可以按住CTRL键将退出按钮拖到故事板场景上的绿色小图标上。然后你与另一个联系。你所要做的就是在AddVC上实现prepareForSegue,这样你就可以将你的数组传回TVC。顺便说一句,电视广告的行动也应该接受你传递的阵列。

你可以在YouTube上搜索时,必须有关于它的教程bazilion。

1

转化的B视图控制器数据到一个视图控制器,你可以用放松身心Segue公司,协议和代表,也块。 我在这里向您展示如何使用转换协议&代表的数据。

VC,H中的文件添加

1)正上方@interface

@protocol addDataProtocol <NSObject> 

-(void)addData:(NSArray *)arrayData; 

@end 

2) DD属性

@property(nonatomic,retain)id<addDataProtocol>delegate; 

3)在M档,就在[self.navigationController popViewControllerAnimated:YES];地址:

[self.delegate addData:yourArray]; 

4)一个 VC:

确认推,像以前一样的委托:objBViewController.delegate=self;

5)呼叫方法:

-(void)addData:(NSArray *)arrayFromB 

和访问arrayFromB

相关问题