0

我有一个 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

4 回答 4

1

在视图控制器中声明一个字符串到您必须传递字符串的位置。在您必须从中传递字符串的视图中,在您的情况下,设置为 apiViewController.stringintheotherview=message;

您的 APICallsViewController 中的字符串必须是合成的

 NSString *message = [NSString stringWithFormat:@"Check out %@", nameLb.text];
         APICallsViewController *apiViewController = [[APICallsViewController alloc] init];
 apiViewController.stringintheotherview=message;
            [self.navigationController pushViewController:apiViewController animated:YES]; 
于 2012-05-23T11:33:52.267 回答
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];

}
于 2012-05-23T11:41:55.740 回答
1

为什么要以编程方式传递字符串,而不是声明函数参数?您可以将功能更改为类似

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

调用它

[apiViewController apiGraphUserCheckins:[NSString stringWithFormat:@"Check out %@", nameLb.text]]; 
于 2012-05-23T11:42:23.583 回答
0

在 SecondViewController 中声明一个属性。然后你可以通过2种方式在SecondViewController中获取字符串。

  1. 在 FirstViewController someMethod 中为 secondviewController 创建对象后,您可以直接分配值

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

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

于 2012-05-23T12:06:50.403 回答