[解決済み] Swiftのdealloc
2022-05-10 06:43:29
質問
ビューコントローラの終了時に、いくつかのクリーンアップを行いたいと思います。
NSNotificationCenter
通知を削除することです。実装は
dealloc
を実装すると、Swift のコンパイラーエラーが発生します。
Cannot override 'dealloc' which has been marked unavailable
Swiftでオブジェクトの寿命が尽きたときに何らかのクリーンアップを行うには、どのような方法が望ましいですか?
どのように解決するのですか?
deinit {
// perform the deinitialization
}
からの Swift ドキュメント :
クラスインスタンスが解放される直前に、deinitializerが呼び出されます。 呼ばれます。deinitキーワードで定義します。 初期化子を init キーワードで記述するのと同じです。非初期化子 はクラスタイプでのみ使用できます。
通常、インスタンスが解放されたときに手動でクリーンアップを行う必要はありません。 インスタンスが解放されたときに手動でクリーンアップする必要はありません。しかし、自分自身の リソースを使用している場合、追加のクリーンアップを行う必要があるかもしれません。 を自分で行う必要があるかもしれません。例えば、ファイルを開いてデータを書き込むカスタムクラスを作成した場合 ファイルを開き、そこにデータを書き込むカスタム・クラスを作成する場合、クラス・インスタンスが解放される前にファイルを閉じる必要があるかもしれません。 クラスのインスタンスが解放される前にファイルを閉じる必要があるかもしれません。
関連
-
[解決済み] 型の不変値に変異型メンバを使用することはできません。
-
[解決済み] Swiftでbase64StringをStringに変換する方法とは?
-
[解決済み] SwiftからObjective-Cのコードを呼び出すにはどうしたらいいですか?
-
[解決済み] Swiftで#pragmaマーク?
-
[解決済み] Swift Betaのパフォーマンス:配列のソート
-
[解決済み] Swiftでindexとelementでループを反復させる方法
-
[解決済み] Swiftの@selector()?
-
[解決済み] Swiftでdispatch_onceのシングルトンモデルを使う
-
[解決済み】コンパイラーエラー。Objective-C のセレクタを持つメソッドは、同じ Objective-C セレクタを持つ以前の宣言と競合しています。
-
[解決済み】dyld: ライブラリがロードされません。rpath/libswift_stdlib_core.dylib です。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Thread 1: signal SIGABRTエラーを解決するには?[クローズド]
-
[解決済み] これを解決するにはどうしたらいいのでしょうか。UILabel.textは、メインスレッドからのみ使用する必要があります。
-
[解決済み] Swiftで文字列が別の文字列を含んでいるかどうかを確認するには?
-
[解決済み] SwiftはPass By ValueかPass By Referenceか
-
[解決済み] なぜクラスではなくストラクチャーを選ぶのか?
-
[解決済み] Swiftの'open'キーワードは何ですか?
-
[解決済み】==と===の違いについて
-
[解決済み】Swiftのオプション値とは何ですか?
-
[解決済み】String.substringWithRangeはどのように使うのですか?(または、SwiftでRangeはどのように動作しますか?)
-
[解決済み】dyld: ライブラリがロードされません。rpath/libswift_stdlib_core.dylib です。