問題タブ [uikit]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - UIKit のフレームと境界について正しく理解していますか?
説明してみましょう。私が間違っているかどうか教えてください。私はそれについて70%確信しています。
私が理解しているように、UIView にはフレームと境界の四角形があります。フレーム四角形の仕事は、スーパービューに対する UIView の位置を設定することです。より正確には、スーパービューの座標系に相対的です。境界四角形の仕事は、独自の座標系を基準にして、UIView の描画領域を設定することです。
簡単に言うと:
- フレームの四角形は、そのスーパービューに対して UIView を配置するためのものです
- 境界矩形は、UIView の描画領域を設定することです
私が見逃した間違いや重要なことはありますか?
iphone - UIImageView 内の画像をストレッチまたはジャー化するにはどうすればよいですか?
Apple によると、私がしなければならないことは、境界の四角形を変更することだけです。次に、境界の四角形の内側のコンテンツがフレームの四角形に引き伸ばされるか、ジャードされます。
しかし、幅が狭い別の CGRect を境界の四角形に割り当てても、何も起こりません。UIImageView はまったく同じように見えます。コンパイルエラーなし。その通りじゃないのかな…
どうやってそれをしますか?
objective-c - メモリの問題を少なくするために、Nib のファイルの所有者に Outlest を作成する必要がある最上位オブジェクトはどれですか?
Apple は、Nib ファイル内のすべての最上位オブジェクトに対して、File's Owner に Outlets が必要であると言っています。
私の知る限り、これらのオブジェクトはファイルの所有者そのものではなく (意味がありませんよね?)、ファーストレスポンダでもありません。
不明な点: Nib の View オブジェクト、および nib のコントローラー オブジェクト。File's Owner にあるユーザー用のコンセントが必要ですか?
この質問は、メモリ管理に関するものです。彼らが言うには:
これらのオブジェクトへのポインターは常にどこかに保持する必要があります。これは、アプリケーションがそれらを使用した場合にそれらを解放する責任があるためです。
ユーザーがアプリを閉じたときに、それらのアウトレットを見逃すと、不格好なメモリリークが発生するでしょうか?
iphone - メモリ不足の警告に関して、マルチビュー アプリケーションで何を考慮する必要がありますか?
ViewControllerクラスが毎回このようなことをしないと、メモリ不足の警告(ユーザーが見たいとすぐに再度ロードする)のためにビューを一時的に放棄すると、メモリの問題が発生することをどこかで読んでいました。そのビューのアウトレット:
私はここで混乱しています。なぜなら、実際には [myView release] もゼロになると思っていたからです。変数はもうオブジェクトを保持していないと言っています。なんで二回?それとも、私が見逃したものがありますか?
iphone - どのiPhone OSのメモリ管理ルールとハウツーを知っていますか?
現在、「iPhone OS のメモリ管理」という氷水に飛び込んでいます。
これが私が学んだ1つのルールです:
メソッドに alloc が表示されるたびに、メソッドの下部にある対応する変数を解放します。
コピーまたは保持を示すヘッダー ファイルに @property(...) を作成するたびに、その変数の解放メッセージを dealloc メソッドに入れます。
IBOutlet があるたびに、同じことを行います。唯一の例外: IBOutlet に @property(... assign) のようなものがある場合、つまり、assign キーワードがある場合。それから私は dealloc メソッドでそれを解放することを気にしません。
知っておくべき良いルールがもっとたくさんあると思います!あなたが持っているものを書き留めてください。それらをすべて一緒にこすり取りましょう。優れた説明へのリンクも歓迎します。
objective-c - これらのオブジェクトを解放する必要がないのはなぜですか?
これがサンプルコードで、「文字列」オブジェクトのみがリリースされています。
エラーオブジェクトが解放されない理由を理解しました。これは、ここのメソッドが「new」または「alloc」メソッドでそのエラーオブジェクトを作成しなかったためです。代わりに、これは参照によって返されるため、initWithContentsOfFileメソッドがそのメモリを担当します。しかし、nameOfFileオブジェクトはどうですか?なぜ彼らはそれを解放しないのですか?参照で返されません...?
iphone - 保持カウントと参照カウントの違いはどこですか?
どちらも同じだと思いますが、よくわかりません。
iphone - -release を送信した場合、コレクションは保持しているすべてのオブジェクトに -release メッセージを送信しますか?
コレクションが「解放される」と、そのオブジェクトもすべて解放されることを読んでいます。一方で、コレクションの割り当てが解除されるとすぐにコレクションがオブジェクトを解放することも読んでいました。
しかし、アップルが言うように、最後のことが常に起こるとは限りません。システムは、割り当てを解除するかどうかを決定します。ほとんどの場合はそうですが、そうでない場合もあります。
コレクションがこのようなメモリリークを引き起こす可能性があるのでしょうか? そして、コレクション自体への解放メッセージですべてのオブジェクトを解放する場合、コレクション自体を保持するとすぐに、コレクション内のすべてのオブジェクトを実際に保持する必要があります。
それについて明確なイメージを得るのを手伝ってください。ありがとう!
iphone - iPhone アプリケーションにプリインストールされているすべての自動解放プールはどこにありますか?
何人いるのか、どこにいるのか気になります。Stanford Vid で見たように、iPhone アプリのイベント ループに自動解放プールが 1 つインストールされています。しかし、私はそれが正確にどこにあるのかを見逃したと思いますか? また、他に知っておくべき自動解放プールはありますか?