在两个视图AViewController和BViewController间切换,应用的根视图控制器为UINavigationController,
在AViewController.m中:
-(void)viewWillAppear{
label.text = item.text;
}
在BViewController.m中:
-(void)viewWillDisAppear{
item.text = textField.text;
}
A,B两个Controller中,都有一个属性为item的实例变量.但是在视图切换的时候,从B->A,
A的item属性是如何获得B的item的数据的呢?
在弹出BViewController的时候把item给AViewController就行了,把AViewController *a实例传到BViewController的属性里面,然后在BViewController赋个值。
-(void)viewWillDisappear:(BOOL)animated
{
a.item = item;
}
这边搞错题主意思了,修正下:
b.item = item;(b.item = a.item;)
那这两个a.item和b.item就是一个实例,修改b.item也就是修改a.item,所以当然一样啊。
把 A 的item
这个属性暴露在.h里:
@property (nonatomic, strong) SomeClass* item;
B 调起 A 的时候
a.item = item;
顺便说,现在很少用到实例变量了。尽量用property代替实例变量。