0

tableviewcellが選択されたときにプッシュされる文字列をViewControllerに渡すにはどうすればよいですか。ビューコントローラでカスタムinitメソッドを作成する必要がありますか?例:[[myvc alloc]initWithURL:...] プロパティを設定しますか?たとえば[myvc setURL:...]、またはmyvc.url = ... 単にカスタムメソッドを作成しますか?[myvc setLoadingURL:...]

4

2 に答える 2

0

実際には、これを両方の方法で実行しました(initとpropertyを使用)。ViewControllerがInterfaceBuilderによって作成されている場合、カスタムinitメソッドが呼び出されない可能性があるため、このプロパティが最適なメソッドであることがわかりました。プロパティを使用すると、使用したい場合は常に設定する必要があります。

たったの$0.02、
-dan

于 2010-05-24T17:38:26.480 に答える
0

これらのソリューションはどれでも受け入れられます。1つの文字列を渡すだけであれば、プロパティで十分だと思います。より複雑なオブジェクトのinitメソッドを保存してきました。これは、最近「ハイスコア」テーブルに対して行ったもので、行をタップすると、スタックにプロファイルビューが表示されます。

ProfileController *profileController = [[ProfileController alloc] initWithNibName:@"ProfileController" bundle:nil];
// pass the controller the player object
[profileController showProfile:player];
// show it by pusing it on the stack
[self pushViewController:profileController animated:YES];
[profileController release];

次のような別の初期化子を作成できます

ProfileController *profileController = [[ProfileController alloc] initWithPlayer:player];

代わりは。それはもう少しエレガントに見えますが、私が言ったように、あなたのアプローチのどれでもうまくいくでしょう。

于 2010-05-24T17:27:45.000 に答える