如何将NSString发送到另一个视图控制器

时间:2012-05-23 11:30:22

标签: iphone objective-c ios uiviewcontroller 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];

}

4 个答案:

答案 0 :(得分:1)

在viewcontroller中声明一个字符串,你必须传递字符串。在你必须传递字符串的视图中,在你的情况下,设置为  apiViewController.stringintheotherview =消息;

必须合成APICallsViewController中的字符串

 NSString *message = [NSString stringWithFormat:@"Check out %@", nameLb.text];
         APICallsViewController *apiViewController = [[APICallsViewController alloc] init];
 apiViewController.stringintheotherview=message;
            [self.navigationController pushViewController:apiViewController animated:YES]; 

答案 1 :(得分:1)

在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];

}

答案 2 :(得分:1)

为什么要以编程方式传递String,而不是声明函数参数?您可以将函数更改为

- (void) apiGraphUserCheckins:(NSString *)message;

调用它
[apiViewController apiGraphUserCheckins:[NSString stringWithFormat:@"Check out %@", nameLb.text]]; 

答案 3 :(得分:0)

在SecondViewController中声明一个属性。然后你可以在2ways中的SecondViewController中获取字符串。

  1. 在为firstviewController创建对象后的FirstViewController中,someMethod可以直接赋值

      

    second.string2 = [NSString stringWithFormat:@“%@”,[textField text]];

  2. 在SecondViewController中创建一个方法并通过它进行分配。