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