Blog スタッフブログ

Swift システム開発 ひとくちコードスニペット

[Swift6]シングルトンクラスのコードスニペット

Swift

こんにちは、株式会社MIXシステム開発担当のBloomです。

今回はSwift6で利用できるシングルトンクラスのコードスニペットを紹介します。

import Foundation

class Singleton: NSObject {
    @MainActor static let shared = Singleton() 
    nonisolated(unsafe) static let shared = Singleton() // 上記とどちらか
    private override init(){
        super.init()
    }
}

Swift6からスレッドセーフを静的解析で保証するため、メインスレッドでしか扱われないグローバル変数に@MainActorの指定が必要になりました。もし他スレッドからも参照する場合はnonisolated(unsafe)を指定しましょう。


Warning: Undefined array key 0 in /home/fl0uhem6u4/mixltd.jp/public_html/cms/wp-content/themes/mix_theme/pagination-single.php on line 3

Warning: Attempt to read property "cat_ID" on null in /home/fl0uhem6u4/mixltd.jp/public_html/cms/wp-content/themes/mix_theme/pagination-single.php on line 3