0

これはちょっと一般的な質問です。 UIViewControllerのインスタンスをインターフェイス(.h)ファイルに作成し、それをプロパティとして宣言して実装( .m)ファイルで使用すると、インプリメントファイル自体のインスタンスを作成するよりも現在のビューでプッシュするとどのような違いがありますか?それをUINavigationcontrollerの現在のビューにプッシュしますか?保つために、あなたのために、複数のポイントでそれにアクセスする必要があるかもしれませんか、それが有用である可能性があるためインプリメンテーションとUIファイルのUIViewControllerインスタンスの作成の違いは何ですか?

よろしく、 スミット

答えて

1

私はちょうど変数の宣言をしています、それはクラスへの参照だけであり、インスタンスではありません...参照とインスタンスの違いはどちらも異なっていることをご理解ください。 .hファイルで宣言すると、.mファイルでその変数を使用することに同意します。そして、我々はそれをinstanciateすることができます...また、他の2つの答えは、独自のポイントを持っている....

1

は通常、あなたの@interfaceのフィールドとして.hの中にあなたのUIViewControllerを定義しますそのコントローラへのポインタこれを必要としない場合は、単に.mで定義し、それを使用してから解放(または自動解放)してください。

+0

ありがとう....私はそれぞれの背景画像を持っているボタンのこのグリッドを持っています。これらのボタンをタップすると、そこにviewControllerがプッシュされ、その大規模な画像を表示するのに役立ちます。私はまた、私は隣接するボタンの背景画像を横断するために使用することができるビューにツールバーを置くことを考えていた。どちらのUIViewControllerをインターフェイスファイルで宣言する必要がありますか?それは正しい? – slonkar

+0

さて、あなたが記述した方法では、プッシュされた後にそのコントローラへのポインタを保持する必要が本当にないようですので、単にプロパティとして定義することなく.mで作成することができます。私はあなたのニーズを誤解しているかもしれません。 – Saphrosit

1

いくつかの違いがあります。

また、.Hファイル内のフィールドとプロパティを宣言することで、メンバーは事実上「パブリック」になり、他のクラスから表示されるようになります。 .Mファイルにメンバーが定義されている場合は、自分のクラス内でしかアクセスできません。

+0

ありがとうございました....私は、それぞれの背景イメージを持つボタンのグリッドを持っています。これらのボタンをタップすると、そこにviewControllerがプッシュされ、その大規模な画像を表示するのに役立ちます。私はまた、私は隣接するボタンの背景画像を横断するために使用することができるビューにツールバーを置くことを考えていた。どちらのUIViewControllerをインターフェイスファイルで宣言する必要がありますか?それは正しい? – slonkar

関連する問題