0

前のボタンでボタンが押されたときに UIViewController が開かれました。

最初のもので:

-(IBAction)info:(id)sender{

MapInfo *infoView = [[MapInfo alloc] initWithNibName:nil bundle:nil];
[self presentModalViewController:infoView animated:YES];
}

MapInfo に 2 つのパラメーターを送信したいのですが、その方法がわかりません。

前もって感謝します

4

3 に答える 3

2

カスタムのinitメソッドを記述して、代わりにそれを使用することができますinitWithNibName:bundle:

- (id) initWithParameter1:(id)parameter1 parameter2:(id) parameter2:(id)parameter
{
    if (self = [super initWithNibName:nil bundle: nil]){
        // custom initialization here
    }
    return self;
}

または、パラメーターのプロパティを追加して、MapInfo表示する前に設定することもできます。

MapInfo *infoView = [[MapInfo alloc] initWithNibName:nil bundle:nil];
infoView.parameter1 = parameter1;
infoView.parameter2 = parameter2;
[self presentModalViewController:infoView animated:YES];
于 2012-08-22T11:44:46.220 に答える
1

アプリケーション アーキテクチャの設計 (設計パターン、oop など) について詳しく読む必要があります。

Model オブジェクトと 2 つのコントローラーがあり、すべてのコントローラーが Model インスタンスにアクセスできます。次に、1 つのコントローラーがモデル内のデータを変更し、別のコントローラーを提示します。したがって、別の 1 つのコントローラーも新しいデータにアクセスできます。

読むためのリソース:

于 2012-08-22T11:47:08.247 に答える
0

パラメータを使用して MapInfo にカスタム メソッドを作成する

 //assuming you want NSString for parameter type
-(id)initWithParameterOne:(NSString*)one parameterTwo:(NSString*)two
{
    if (self = [super init]) {
       .......
    }

    return self;
}

-(id)initWithParameterOne:(NSString*)one parameterTwo:(NSString*)two;MapInfoヘッダーに追加することを忘れないでください

あなたはそれを呼び出すことができます

-(IBAction)info:(id)sender{

MapInfo *infoView = [[MapInfo alloc] initWithParameterOne:dataOne parameterTwo:dataTwo];
[self presentModalViewController:infoView animated:YES];
}
于 2012-08-22T11:48:16.893 に答える