UIViewController
calledMasterViewController
との 2 つのサブクラスがあるとしDetailViewController
ます。
DetailViewController
には、とNSNumber
呼ばれるタイプのプロパティがあります。level
UILabel
levelLabel
MasterViewController
DetailViewController
と呼ばれるセグエがありToDetail
ます。MasterViewController
の prepareForSegue はそのようなものです
- (void)prepareForSegue:(UIStoryboardSegue)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"ToDetail"]) {
DetailViewController *detailVC = (DetailViewController *)segue.destinationViewController;
detailVC.level = [NSNumber numberWithInt:10]; // never mind the literal...pretend there was some algorithm for it
}
}
それでは、DetailViewController
次のように levelLabel のセッターを実装します。
- (void)setLevelLabel:(UILabel *)levelLabel
{
if (levelLabel) {
_levelLabel = levelLabel;
_levelLabel.text = level.stringValue;
}
}
これは良いコード設計ですか?また、私のコードの書き方について批評していただけますか? 私はほとんどすべてのコードをオンザフライで書いたので、これはほとんどの部分でコードを書く方法です。
これは、セグエに依存するほとんどすべてのラベル テキストの設定を実装する方法であるため、シャワーを浴びながらこの質問を考えました。