1

初期境界を使用して計算された Nib からロードされた NSView のプロパティを設定する必要があります。その境界は内部ではまだ null です - (void)awakeFromNib では、その境界にアクセスできるビューのライフサイクルの最初のポイントは何ですか?

4

2 に答える 2

3

中にセット-viewDidMoveToWindow:

于 2011-09-06T08:01:29.457 に答える
0

実際、Apple のドキュメントには次のように明確に記載されています。

重要: オブジェクトがアーカイブからインスタンス化される順序は保証されていないため、初期化メソッドは階層内の他のオブジェクトにメッセージを送信しないでください。他のオブジェクトへのメッセージは、awakeFromNib 内から安全に送信できます。その時点までに、すべてのオブジェクトがアーカイブ解除され、初期化されていることが保証されます (もちろん、必ずしも目覚めているわけではありません)。

iOS ではこのviewDidLoad方法を使用しますが、Mac では必ずしも利用できるとは限りません。

stackoverflow の投稿で答えが見つかると思います(これは iOS ではなく Mac 開発者向けのソリューションですが、探しているものと思われます)。

于 2011-09-06T07:57:22.437 に答える