0

トリガーされたときに別のビューコントローラー(APICallsViewController)の別のメソッドを呼び出すIBActionがあります。そのメソッドにもNSString(メッセージ)を送信したいと思っています

これが、APICallsViewControllerへのプッシュとNSStringメッセージを含む私のIBActionです。私の質問は、他のViewControllerのメソッドでその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

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

ビューコントローラーで文字列を渡す必要がある場所に文字列を宣言します。また、文字列を渡す必要があるビューで、あなたの場合は 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

関数パラメーターを宣言する代わりに、プログラムで文字列を渡したいのはなぜですか? 関数を次のように変更できます

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

で呼び出す

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

SecondViewControllerでプロパティを宣言します。次に、2waysのSecondViewControllerで文字列を取得できます。

  1. FirstViewController someMethodでは、secondviewControllerのオブジェクトを作成した後、値を直接割り当てることができます

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

  2. SecondViewControllerでメソッドを作成し、それを介して割り当てます。

于 2012-05-23T12:06:50.403 に答える