如何发送一个NSString到另一个视图控制器
我有一个IBAction,当触发时在另一个视图控制器(APICallsViewController)中调用另一个方法。 我正在寻找也发送该方法一个NSString(消息)
这里是我的IBAction推送到APICallsViewController和NSString消息。 我的问题可能是如何在其他视图控制器的方法中获取该NSString的内容。
谢谢你的帮助
-(IBAction) someMethod{ APICallsViewController *apiViewController = [[APICallsViewController alloc] init]; [self.navigationController pushViewController:apiViewController animated:YES]; NSString *message = [NSString stringWithFormat:@"Check out %@", nameLb.text]; [apiViewController apiGraphUserCheckins]; [apiViewController release]; }
在APICallsViewController.h中执行此代码
@interface APICallsViewController : UIViewController{ NSString *strMessage; } @property(nonatomic,retain) NSString *strMessage; @end
APICallsViewController.m
@synthesize strMessage; - (void)viewDidLoad { Nslog(@"%@",strMessage);
}
-(IBAction) someMethod{ APICallsViewController *apiViewController = [[APICallsViewController alloc] init]; [self.navigationController pushViewController:apiViewController animated:YES]; NSString *message = [NSString stringWithFormat:@"Check out %@", nameLb.text]; apiViewController.strMessage=message; [apiViewController apiGraphUserCheckins]; [apiViewController release]; }
在视图控制器中声明一个string,你必须传递string。在视图中你必须传递string,在你的情况下,像apiViewController.stringintheotherview = message;
APICallsViewController中的string必须合成
NSString *message = [NSString stringWithFormat:@"Check out %@", nameLb.text]; APICallsViewController *apiViewController = [[APICallsViewController alloc] init]; apiViewController.stringintheotherview=message; [self.navigationController pushViewController:apiViewController animated:YES];
为什么要以编程方式传递string,而不是声明函数参数? 你可以把function改成类似的东西
- (void) apiGraphUserCheckins:(NSString *)message;
用它来呼叫
[apiViewController apiGraphUserCheckins:[NSString stringWithFormat:@"Check out %@", nameLb.text]];
在SecondViewController中声明一个属性。 然后你可以在2ways中得到SecondViewController中的string。
-
在为firstviewController创build对象之后的FirstViewController someMethod中,您可以直接赋值
second.string2 = [NSString stringWithFormat:@“%@”,[textField text]];
-
在SecondViewController中创build一个方法并通过它进行分配。