純粋に偶然、呼び出し[bar.view addSubview:[foo view]]
が機能しないことを発見[bar.view addSubview:foo.view]
しましたが、次のコードでは機能します。
foo=[fooViewController alloc] initWithNibName:@"fooViewController" andBundle:nil];
[self.view addSubview:foo.view];//here's where I swap the two commands out
[foo aFunctionThatSendsAMessageToOneOfFoosSubViews];
(最後の行には、foo
実行前に設定する必要があるサブビューがいくつかあるためです。特に、 a UIWebView
. メッセージが送信される前にそれらがインスタンス化されていない場合、メッセージはnil
. Withに移動しfoo
ます。)
これら 2 つは機能的に同一であると考えていfoo.view
ました。同じゲッターを呼び出します[foo view]
が、実際にはそうではありません。ドット構文では目的の結果が得られますが、角かっこを使用するとメッセージが に送信されnil
ます。
10 分前に聞いていたら、2 つの式の違いは「構文だけで、他には何もない」と答えていたでしょう。私が明らかに間違っていることを考えると、私がどのように間違っているかを理解する必要があります。