数据如何从视图控制器传递到另一个视图控制器

时间:2016-01-15 06:04:38

标签: ios objective-c

代码:

[[UIApplication sharedApplication] delegate];

通过此代码,如何将数据从一个传递到另一个。

3 个答案:

答案 0 :(得分:0)

基本上只有一个'sharedApplication'实例(它是一个单例),这意味着视图控制器彼此独立的实例仍然可以与同一个数据对象进行通信。因此,您可以在sharedApplication委托中编写方法,这可以有效地允许这两个视图控制器进行通信。有关详细信息,请参阅Apple文档。

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIApplication_Class/

答案 1 :(得分:0)

您可以使用segue目标视图控制器来控制Controller之间的transfar数据。假设您在一个View Controller中有一个TextField,并且您希望将Textfield文本传递给另一个viewController。然后使用它可能会有所帮助。

-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
TargetViewController *tvc; //Second view controller Object
tvc = [segue destinationViewController];
tvc.lonetxt = fname.text; //use properties of another view using . operator
tvc.ltwotxt = lname.text;
tvc.lthreetxt = age.text;
tvc.lfourtxt = college.text;
}

答案 2 :(得分:0)

请尝试以下操作:

AppDelegate中的界面:

@interface MyAppDelegate : NSObject  {
  NSString *myString;
}
@property (nonatomic, retain) NSString *myString;
...
@end

并在App Delegate的.m文件中写下:

@implementation MyAppDelegate

@synthesize myString;
myString = some string;

@end

然后,在viewcontroller.m文件中,您可以获取:

MyAppDelegate *appDelegate = (MyAppDelegate*)[[UIApplication sharedApplication] delegate];
someString = appDelegate.myString;  //..to read
appDelegate.myString = some NSString;     //..to write