WEBサイト制作・アプリ開発・システム開発・ブランディングデザイン制作に関するご相談はお気軽にご連絡ください。
構想段階からじっくりとヒアリングし、お客様の課題にあわせたアプローチ手法でお客様の“欲しかった”をカタチにしてご提案いたします。
Blog スタッフブログ
Swift
システム開発
ひとくちコードスニペット
[Swift6]シングルトンクラスのコードスニペット
こんにちは、株式会社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)を指定しましょう。