問題タブ [dealloc]
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 - -(void)deallocでNSUserDefaultsを同期するのは悪い形式ですか?
オブジェクトのinitメソッドでNSUserDefaultsからロードします。オブジェクトのdeallocメソッドでNSUserDefaultsに保存できますか?
まったく同じようなもの:
良い、悪い、いいですか?それが良くないなら、どこが良いでしょう。
編集:
詳細な回答ありがとうございます。それらすべてが理にかなっています。これがユーザーのデフォルトに保存するのに不適切な場所である理由を私が発見したもう1つの理由は、deallocは、オブジェクトの割り当てが適切に解除された場合にのみ呼び出されるためです。私のアプリが強制終了された場合、このコードは実行されません。同様に、アプリがバックグラウンド(iOS 4)にプッシュされた場合、これは実行されません。明示的な[userDefaults synchronize]
呼び出しも削除しました。少し緊張しますが、これはアップルに信頼を置いています。:)
c++ - Dealing with chars in C++ (without std::string)
I have this code:
The second value will get the addres of value ok? If I delete "value" the secondValue won't be available am I right?
so I should do:
so If I delete "value" no problem.
And finally to dealloc the secondValue I should do:
am I right?
iphone - アプリがバックグラウンドになったときにオブジェクトの割り当てを解除するにはどうすればよいですか?
「アプリがバックグラウンドになったときにオブジェクトを正しく解放する方法は?」という質問は 1 つだけです。私はいくつかのアプリに取り組んでいます。すべてがうまく機能します。アプリをバックグラウンドにしてからもう一度起動すると、クラッシュします。すぐにではありません(アプリを閉じたところにスターが付きます)が、たとえばセルの一部を選択したり、テーブルビューをスクロールしたりするだけです。だから私はアプリがすでにリリースされたデータを呼び出すと確信しています。
ここにdeallocの例があります
何かアドバイスはありますか?
iphone - CFStringisNaturallyRTL-割り当て解除されたインスタンスに送信されるメッセージ
私はすでに「CFStringisNaturallyRTL」をグーグルで検索しましたが、結果は0です。
これらは私のクラスです:
これで、ボタンタッチで開くビューがあり、2つのテキストボックスと1つのボタンが含まれています。このような。
それはすべて正しく、コンパイルして実行します。
初めてdrawRouteTextboxesをクリックすると、デフォルトのテキストが設定された状態でビューが開きます(「Roma」と「lecce」)。2回目は、ビューを開き、テキストフィールドを編集して、drawRouteを呼び出します。大丈夫です。drawRouteTextboxesを3回呼び出すと、次のランタイムエラーが返されます。
問題がどこにあるのかわかりません...誰かが解決策を知っていますか?このエラーが表示されるのは初めてです。
ありがとう、アルベルト。
objective-c - カテゴリで宣言されたプロパティをリリースするObjective-C?
クラスにプロパティといくつかのメソッドを追加する既存のクラスにカテゴリがあります。
実装ファイルでは、オブジェクトの割り当てが解除されたときにこのプロパティを解放したいと考えています。ただし、dealloc
このクラスで宣言すると、元のクラスの dealloc がオーバーライドされます。aProperty
オブジェクトの割り当てが解除されたときにこれを解放する適切な方法は何ですか?
uiview - UIViewController & UIview dealloc が呼び出されない
ナビゲーション ベースのビュー コントローラーがあり、ビュー コントローラーで上部のナビゲーション バーを非表示にし、カスタム UIView をナビゲーション バーとして使用します。
UIView バーには戻るボタンがあり、Delegate メソッド (プロトコルを宣言しました) を使用して、戻るボタンが押されたときにビュー コントローラーと通信します。
CustomNavigation Bar id デリゲートでデリゲートを使用します。
メインのView Controllerで、ナビゲーションバーを割り当てるときにデリゲートを設定します
ViewControllers の dealloc でこのバーを解放します。
戻るボタンを押すと、デリゲート メソッドを使用して、メインの ViewController で popViewController を呼び出します。
ViewControllerがポップされ、コントロールは前のviewControllerに移動しますが、ViewControllerとUIViewの両方でdeallocが発生しません
私は何を間違っていますか?
iphone - 正しい[スーパーdealloc]
dealloc メソッドのステートメントの順序は重要ですか? [super dealloc]
メソッドの一番上にある必要はありますか?それは問題ですか?
また、例えばviewDidLoad
。[super viewDidLoad]
メソッドの一番上にあるべきですか?
iphone - DeallocのカスタムUIButtonメモリ管理
ここで行われているプロセスを明確にしたいと思っています。
initメソッドが次のようになるUIButtonのサブクラスを作成しました。
ビューコントローラで、これらのボタンの1つを作成し、それをサブビューとして追加しています。
ビューコントローラのdealloc
メソッドでは、ボタンの保持カウントをログに記録します。
私の理解では、myButtonは、を使用して呼び出したとしても、実際には保持されませんalloc
。これは、サブクラスで(を使用して)自動解放ボタンを作成したためbuttonWithType:
です。
で、これは、deallocが呼び出されると、スーパービューがボタンを解放し、その保持カウントが1に減少するdealloc
ことを意味しますか?ボタンはまだ自動リリースされていませんか?
または、[superdealloc]を呼び出した後にその保持カウントをゼロにする必要がありますか?
乾杯。
iphone - iOS SDK-deallocの実装-最初に子ビューをリリースしますか?
私はiPadアプリケーションを完成させています。私にとって、それはdealloc
クラスのすべてのメソッドに入力することを意味します。
私のペン先には多くのビューがあり、それらのほとんどにはサブビュー(つまりUIView
、s、UILabel
sなど)が含まれています。親を解放する前に子ビューを解放する必要がありますか?親ビューが解放された場合、その子ビューも解放されますか?
サンプル:
childView
とは両方ともparentView
私のViewControllerのプロパティです。両方とも保持されています。
objective-c - Objective-Cオブジェクトでmalloc/freeを使用する
AudioManager
タイプのメンバーを持つクラスがありAudioBufferList *
ます。(これはCoreAudio
フレームワークで宣言された構造体です)。AudioBufferList
ではないのでNSObject
、保持できません。そのため、割り当て/解放する必要があります(間違っている場合は修正してください)。
私の質問は、それを解放するための「正しい」場所はどこにあるのかということです。dealloc
現在、の方法でやっていAudioManager
ます。私が正しく理解していれば、メッセージが---release
のインスタンスに送信されると、このメソッドは自動的に呼び出されます。それは本当ですか?AudioManager
Objective-Cオブジェクトの非オブジェクトメンバーでalloc/freeを使用することに関して他に推奨される方法はありますか?
編集:
Applesのドキュメントから:
サブクラスは、独自のバージョンのdeallocを実装して、オブジェクトによって消費される追加のメモリを解放できるようにする必要があります。たとえば、データ用に動的に割り当てられたストレージや、割り当て解除されたオブジェクトが所有するオブジェクトインスタンス変数などです。クラス固有の割り当て解除を実行した後、サブクラスメソッドは、次のメッセージを介してスーパークラスバージョンのdeallocを組み込む必要があります。
これにより、状況が少し明確になりますが、より多くの洞察が得られます。