問題タブ [retain]
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.
objective-c - 保持している @dynamic プロパティ セッターに @property (保持) を使用する必要がありますか?
@dynamic キーワードを使用して手動で記述したゲッター/セッターを持つプロパティの次のコードがあります。
私の質問は、 @property 宣言から保持を削除すると、コンパイラはデフォルトが割り当てられ、それが私が望むものではない可能性があると不平を言うことです。保持を追加すると、ゲッター/セッターを自分で作成したため、無視されると思いますか?
これに関する簡単な確認を探しています。
objective-c - @property (読み取り専用、保持) には意味がありますか?
XCode はそれを受け入れます。しかし、内部でプロパティを設定すると保持されますか (読み取り専用であるため外部にセッターはありませんが、クラス メソッドで値を初期化するとき)。
よろしく、Apple92
iphone - 奇妙な保持カウント(1初期化-3保持カウント)を修正する方法は?+編集:dealloc問題
したがって、私のコードは次のようになります。
そして私は得る:
この混乱を解決する方法は?何が間違っているのかわかりません。この部分では、メモリ不足が原因でアプリケーションがクラッシュすることがあります。
編集:関連する問題。
したがって、状況は上記で定義したものと同じですが、問題はArticleControllerControllerdeallocメソッドが呼び出されないことです。
その他のコード:
}
このメソッドが数回繰り返されると、ArticleControllerControllerは大量のさまざまなインターフェイス要素を作成しますが、そのdeallocメソッドはそれらを解放しません(保持カウントがゼロになることはありません)。したがって、ここに解決しようとしているメモリクラッシュの問題があると思います。今から数日。
どうしたの?これを解決するためにもっと何かできることはありますか?
iphone - UIViewControllerは問題を保持します:カウントがゼロに達することはありません
以下の私のコードを見てください。この部分は、スタックからトップビューコントローラー(通常は同じArticleControllerController
)をポップし(単一のコントローラーをポップするか、ルートコントローラーにポップするかに関係なく、問題は同じままであることがわかりました)、新しいコントローラーを作成してスタックに追加します。
問題は、その保持カウントがゼロになることは決してないため、dealloc
メソッドがArticleControllerController
呼び出されることはなく、大量のさまざまなインターフェイスオブジェクトが解放されないままになることです。メモリが少ないために、最終的にアプリがクラッシュします(少なくともデバイスでは、少なくともこの部分が主な問題だと思います)。
したがって、popViewControllerAnimatedは、残りの2つの保持のうちの1つだけを解放すると思います。なんで?何を探すべきですか?私に何ができる?2回電話[ac release]
します(それはひどいことです)?
objective-c - 構造体にネストされたプロパティの保持を設定するには?
私が理解できないobjcには本当に何かがあります。保持可能なプロパティを作成する方法は知っていますが、「パブリック」プロパティではなく「プライベート」プロパティのみである保持可能な「サブ」構造体フィールドを作成する方法を理解できません (プライベート プロパティは私のメソッドによってのみ管理されます)。
これが私のコードです:
メソッドでスロット名を割り当てるたびにスロット名 (構造体のスロット名) を保持したいのですが、外部からは見えないため、これはプロパティではありません。
たとえば、別の NSString で初期化するたびに、次のようにします。
これは「良い」(エレガントではない)方法ではないと本当に感じています。
_device_descriptor 構造体を削除して、次のようにする必要があると思います。
しかし、構造体に共通のものを集めていないので、これは良くありません...
よりスマートな方法はありますか?
よろしく、フランツ
iphone - @synthesizeでretainsetterはどのように実装されますか?
ヘッダーには次のものがあります。
そして実装では:
それで:
tempOverlay
上記の変数は不要ではありませんか?私はただすることはできません:
forms - フォームをサーブレットに送信した後、JSP で HTML フォーム フィールドの値を保持するにはどうすればよいですか?
HTML からデータを送信した後、サーブレットはこれらのデータを DB に追加し、結果メッセージを JSP ページに転送します。転送後、最初に送信された値をフォームに保持したい。
サーブレットでオブジェクトを作成し、受け取ったすべてのパラメーターを追加して、JSP への要求で送信することは賢明ですか? 他に良い方法はありますか?
iphone - @Property UISwitch を TableView に追加すると RetainCount の問題が発生する
私はUISwitchsとUITextFieldsでこれをやっています...
クラス内のいくつかの異なるメソッドでその値にアクセスしたいので、ヘッダー ファイルで UISwitch を Property として宣言しました。
次のコードを使用して、UISwitch を TableViewCells の 1 つに追加しています。
そのままで、retainCounts はいたるところにあります。mySwitch Retain は、セルが画面に配置されるまでに 2 であり、スイッチをタップするたびに保持カウントが増加し、4 になるまで保持されているように見えます。
明らかに私は何かが欠けています。誰かが私を正しい方向に向けることができれば、それは大歓迎です。
iphone - Objective C、メモリ管理
1) 保持を使用する理由は何ですか?
たとえば、setter メソッドでは次のようになります。
2) autorelease-Method: 古いオブジェクトを削除するか、新しいオブジェクトを準備しますか?
3) 入力オブジェクトで保持メソッドが呼び出されるのはなぜですか?
だろう
間違っていますか?なぜ?
objective-c - プロパティの保持属性に関する質問
Objective Cのドキュメントでは、プロパティの保持属性について次のように述べています。
割り当て時にオブジェクトに対して保持を呼び出す必要があることを指定します。(デフォルトは assign です。) 以前の値はリリース メッセージで送信されます。
UITableViewCell
リファレンスガイドで次のようなものを見るまで、プロパティと属性を理解していると思っていました。
その後、上記を読んで本当に混乱しました。
私の質問:
1)私が持っていると仮定します:
次に、実装ファイルで:
これは、「b」が指すオブジェクトの保持カウントをインクリメントしません。正しいですか? Objective C docが次のように述べているため、私はこれについて混乱しています。
割り当て時にオブジェクトに対して保持を呼び出す必要があることを指定します。(デフォルトは assign です。) 以前の値はリリース メッセージで送信されます。
2) 上記が正しい場合、retain 属性は、setter が正しく呼び出されたときにのみ保持カウントをインクリメントしますか?
3) オブジェクトのセッター メソッドを独自のイニシャライザで呼び出すのは良くないという話をいくつか聞いたことがあります。なんで?私にとって、それをするのが良くない場合は、次のことを行う必要があります。
からプロパティを作成したことを考えると、これは奇妙に思えますb
。
4)上記@property (retain, readonly) SomeObject *t;
の例の likeUITableViewCell
も紛らわしいです。「読み取り専用」は、ゲッターが合成されていないことを意味します。「保持」に関する私の理解が正しければ (つまり、セッターでのみ発生する)、これは本当に矛盾しているように見えます。