問題タブ [deinit]

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.

0 投票する
1 に答える
434 参照

swift - 遅延初期化と deinit

deinitビューコントローラーで遅延プロパティを使用し、初期化されている場合にのみ遅延プロパティのメソッドをメソッドで呼び出すことが可能かどうかを知りたいです。いくつかのコードの下:

このようにsession.delete()deinitメソッド内で が呼び出さsessionれて使用されていない場合 (まだ使用されている場合nil)、初期化されてからdelete呼び出されます。私はこれをしたくありません。以前に初期化されていたdelete場合にのみ呼び出したいと思います。session

これを達成する方法はありますか?怠惰な初期化のアイデアを手放す必要がありますか?

0 投票する
1 に答える
895 参照

ios - テーブル ビュー deinit が呼び出されない

table view追加のコードなしで、完全に新しいプロジェクトに法線があります。私のストーリーボードには、2 つのビュー コントローラーと へのnavigation controller埋め込みがありFirst Controllerます。First Controllerボタンとラベルを含むテーブルビューがあります。ストーリーボードのボタンから2番目のコントローラーにsegue与えました。cell

私が知りたいのは、いつ私deinitが最初controllerに呼び出されるかということですが、呼び出されていません。ブレークポイントを設定しましたが、何も機能していないようです。

からにsegue戻るとsecondfirstで動作second controllercontrollerますpoppeddeinitしかし、最初のコントローラーで実行するには何をする必要があるでしょうか? からもpop最初にする必要がありますか?または、明示的に別の場所を指定する必要がありますか?controllerstacknil

背後にある正しい概念を理解するのを手伝ってください。これについて正しい方向に私を導いてください。

コード-:

カスタムセル-:

2 番目のコントローラー: