問題タブ [strong-references]
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 - Objective-cでは、弱い参照と強い参照はどのように見えますか?
ウィキペディアは、「コンピュータープログラミングでは、弱参照は、参照されたオブジェクトをガベージコレクターによる収集から保護しない参照です」と述べています。これらの2つのタイプの参照は、コードではどのように見えますか?弱参照は、自動解放されたメッセージによって作成された参照ですか?
c# - GCによって収集されているオブジェクトをフックすることは可能ですか?
WeakReference
ターゲットの強い参照があるとします。ターゲットオブジェクト自体がGCによって収集されているときに通知を受け取りたいのですが。出来ますか?
編集:ファイナライザー/デストラクタにコードを追加することは、ここではオプションではありません。クラスコードに依存しないものが必要です。
ios - IBOutlet およびその他の弱いまたは強い
strong
プロジェクトを ARC に切り替えましたが、IBOutlets を使用する必要があるのかweak
、IBOutletsを使用する必要があるのか わかりません。Xcode はこれを行います: インターフェイス ビルダーで、UILabel
たとえば を作成し、それをアシスタント エディターで に接続するとViewController
、次のように作成されます。
代わりに、 RayWenderlich strong
Web サイトで次のようなチュートリアルを読みました。
しかし、これら 2 つの特定のプロパティについては、別の計画があります。の代わりに
strong
、 として宣言しますweak
。
Weak
は、すべてのアウトレットプロパティに推奨される関係です。これらのビュー オブジェクトは既にビュー コントローラーのビュー階層の一部であり、他の場所に保持する必要はありません。アウトレットを宣言することの大きな利点はweak
、viewDidUnload メソッドを記述する時間を節約できることです。現在、
viewDidUnload
次のようになっています。
次のように簡略化できます。
したがってweak
、 の代わりに を使用し、strong
でセットを nil に削除します。videDidUnload
代わりに、Xcode で を使用しstrong
、 で を使用しself... = nil
ますviewDidUnload
。
私の質問は次のとおりです。いつstrong
、いつ使用する必要がありweak
ますか? iOS 4 の展開ターゲットにも使用したいので、いつ使用する必要がありunsafe_unretain
ますか? strong
を使用する場合、weak
およびunsafe_unretain
ARCを使用する場合、誰でも簡単なチュートリアルで私をよく説明するのを手伝ってくれますか?
objective-c - ビューは強力な参照を保持していますか?
簡単な質問: forViewController
は自動的にラベルへの強い参照を保持しますか? また、プログラムで を作成し、プログラムで画面に配置すると、それへの強い参照も自動的に保持されますか?IBOutlet
UILabel
ViewController's view
UIPopoverController ivar
ViewController
UIPopoverController ivar
ViewController's view
ios - ARCを有効にして強力な参照オブジェクトをnilに設定しますか?
ARCオプションを有効にしたiPhoneアプリを開発しています。ファイル所有者アイコンから.xib要素に接続されている.hファイルにIBOutletsを作成しています。
.mファイルで、私はやっています
bt
メソッドで明示的にnilに設定する必要がありviewDidUnload
ますか?つまり?self.bt = nil;
_viewDidUnload
dealloc
また、 ARCオプションを有効にしてメソッドを作成する必要がありますか?ARCを有効にして、IBOutlets要素を強参照と弱参照としていつ作成する必要がありますか?
ios - SplitView に 2 つのビューを設定して相互参照を保持するのは悪いことですか?
私は現在、splitViewController のビューが互いに通信しなければならない RSS プログラムを作成しています。どちらも現在、以下で説明するように App Delegate で宣言されている互いのプロパティ インスタンスを保持しています。これが悪いプログラミング手法であるかどうかを知りたいのですが、そうでない場合、それを回避するにはどうすればよいですか?
/ ---------------------------------------------- /
objective-c - self をメソッドに渡す方法 (または強い参照サイクルを防ぐ方法)
自分自身を保持するブロックを使用する際に、強い参照循環を防ぐ方法を現在考えています。通常の方法は、自己への弱い参照を使用することです。
しかし、methodB が次のようになったらどうなるでしょうか。
これは依然として強い参照サイクルを引き起こしますか? それとも、methodB は methodA から self への弱い参照を self への参照として受け取りますか? (つまり、methodB の self への参照は、methodA からの弱参照への単なる強参照ですか?)
ios - Objective-C: 弱い属性が期待どおりに機能しない
私は Objective C の初心者で、自分では答えられない質問がいくつかあります。__weak 変数をテストするためのコード ブロックがあります (もちろん、ARC を使用しています)。
weakString は弱い変数であるため、上記のコードの出力は期待どおりです。
しかし、コードを次のように変更すると、次のようになります。
出力は私が期待したものとはまったく異なります:
後者の NSLog の出力は、"John" ではなく (nil) である必要があります。多くのドキュメントを検索しようとしましたが、この場合の答えが見つかりませんでした。誰かが合理的な説明をすることができますか? 前もって感謝します。
objective-c - iOS の __weak 属性と __strong 属性の違いは何ですか?
1 つのオープンソース プロジェクトにコードがあります。
self
あるクラスをいつ強弱に設定する必要があるか知りたいですか?