このように動作します:iphoneココア「エラー:何かない構造体または共用体のメンバのリクエスト____」
type1ViewController *viewController = [[type1ViewController alloc] initWithNibName:@"Type1View" bundle:nil];
viewController.parentViewController = self;
self.type1ViewController = viewController;
[self.view insertSubview:viewController.view atIndex:0];
[viewController release];
しかし、この方法は、何かない構造に「私にメンバーparentViewControllerの要求をエラーが発生しますかユニオン ":
type1ViewController *viewController = [[type1ViewController alloc] initWithNibName:@"Type1View" bundle:nil];
self.type1ViewController = viewController;
self.type1ViewController.parentViewController = self;
[self.view insertSubview:viewController.view atIndex:0];
[viewController release];
私はなぜそれが異なっているのか分かりません。コンパイラはそれが好きではないことを何に分かりますか?あなたがself.type1ViewController.parentViewController
代わりのviewController.parentViewController
を呼び出すとあなたには、いくつかのスーパークラスではなく、type1ViewControllerとしてself.type1ViewController
を宣言しているので、事前にあなたの助けのための おかげ
明らかではありませんが、私は人々がそれを理解することを望んでいましたが、このコードがType1ViewControllerクラスのtype1ViewControllerプロパティを含む "ParentViewController"クラスにあることを明確にする必要があります。 Type1ViewControllerは、ParentViewController型のparentViewControllerプロパティで宣言されています。 そのような場合、私はあなたが完全に理解しているかどうかはわかりません。それはちょうど倍の 'ですか?'コンパイラを悩ます構文? ParentViewControllerのヘッダーファイルで、self.type1ViewControllerはType1ViewControllerとして宣言されています。そのように動作させるためにキャストされるものは何ですか? –