Iphone 使用导航栏时如何将值从view2返回到view1
我是iPhone开发的新手。使用导航栏时,如何将字符串值从view2传递到view1。通过使用pushviewcontroller,我可以将字符串值从view1传送到view2,从view3传送到……但当我使用导航栏的“后退”按钮返回到以前的视图时,我无法保存字符串值。 我需要你的帮助来解决这个问题Iphone 使用导航栏时如何将值从view2返回到view1,iphone,navigation,tableview,viewcontroller,pushviewcontroller,Iphone,Navigation,Tableview,Viewcontroller,Pushviewcontroller,我是iPhone开发的新手。使用导航栏时,如何将字符串值从view2传递到view1。通过使用pushviewcontroller,我可以将字符串值从view1传送到view2,从view3传送到……但当我使用导航栏的“后退”按钮返回到以前的视图时,我无法保存字符串值。 我需要你的帮助来解决这个问题 提前感谢实现这一点的方法不止一种。以下是一些: 您可以通过导航控制器的ViewController属性访问导航堆栈中的所有视图控制器:self.navigationController.ViewCo
提前感谢实现这一点的方法不止一种。以下是一些:
self.navigationController.ViewController
self.parentViewController
在前3种情况下,子控制器将负责将数据传递给父控制器。在第四个类中,父类将在释放子类之前从子类获取数据。如果将当前类的引用传递给下一个类并使用此引用更改值,则可以轻松完成此操作 比如: 要推送的类
@interface B:UIViewController{
id delegate;
}
@property (nonatomic,retain) id delegate;
@end
@implementation B
@synthesize delegate;
-(void)methodA{
[delegate setNewString2:@"Madhup"];
}
@end
从中推送B的类:
@interface A:UIViewController{
NSString *newString;
}
@property (nonatomic,retain) NSString *newString;
@end
@implementation A
@synthesize newString
- (void)method2{
B *newBObject = .......;
[newBObject setDelegate:self];
[self.navigationController pushViewCo.......];
}
@end
希望这有帮助。谢谢Madhu,你完成了我的工作。你的填鸭法帮助我了解了一些基本的图案样式。@Anil Kumar:填鸭法只适用于newbies@property(非原子,保留)id委托;保留正确或应分配。这有什么不同吗?谢谢Can Berk,我在MVC上使用委托模式。谢谢你的及时回复