Rumah hujung hadapan web tutorial js Swift中定义单例的方法实例

Swift中定义单例的方法实例

Apr 11, 2018 pm 02:09 PM
swift takrifan Contoh

这次给大家带来在Swift中怎样定义单例,在Swift中定义单例的注意事项有哪些,下面就是实战案例,一起来看一下。

什么是单例

单例模式设计模式中最简单的一种,甚至有些模式大师都不称其为模式,称其为一种实现技巧,因为设计模式讲究对象之间的关系的抽象,而单例模式只有自己一个对象。

单例模式(Singleton Pattern),也叫单子模式,是一种常用的软件设计模式。 在应用这个模式时,单例对象的类必须保证只有一个实例存在。

单实例Singleton设计模式可能是被讨论和使用的最广泛的一个设计模式了,这可能也是面试中问得最多的一个设计模式了。这个设计模式主要目的是想在整个系统中只能出现一个类的实例。这样做当然是有必然的,比如你的软件的全局配置信息,或者是一个Factory,或是一个主控类,等等。

如何在 swift 中创建单例

在 swift 中有以下这两种方式可以创建单例

全局变量的方式

let sharedNetworkManager = NetworkManager(baseURL: API.baseURL)
class NetworkManager {
 // MARK: - Properties
 let baseURL: URL
 // Initialization
 init(baseURL: URL) {
 self.baseURL = baseURL
 }
}
Salin selepas log masuk

使用该全局变量进行引用

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
 print(sharedNetworkManager)
 return true
}
Salin selepas log masuk

静态属性及私有化构造方法的方式

class NetworkManager {
 // MARK: - Properties
 private static var sharedNetworkManager: NetworkManager = {
 let networkManager = NetworkManager(baseURL: API.baseURL)
 // Configuration
 // ...
 return networkManager
 }()
 // MARK: -
 let baseURL: URL
 // Initialization
 private init(baseURL: URL) {
 self.baseURL = baseURL
 }
 // MARK: - Accessors
 class func shared() -> NetworkManager {
 return sharedNetworkManager
 }
}
Salin selepas log masuk

直接调用类方法进行引用

NetworkManager.shared()
Salin selepas log masuk

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

IView中on-change属性如何使用

vue项目中怎么使用sass配置

Atas ialah kandungan terperinci Swift中定义单例的方法实例. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Apple mengeluarkan pakej Swift sumber terbuka untuk penyulitan homomorfik, digunakan dalam iOS 18 Apple mengeluarkan pakej Swift sumber terbuka untuk penyulitan homomorfik, digunakan dalam iOS 18 Jul 31, 2024 pm 01:10 PM

Menurut berita pada 31 Julai, Apple mengeluarkan kenyataan akhbar semalam (30 Julai), mengumumkan pelancaran pakej Swift sumber terbuka baharu (swift-homomorphic-encryption) untuk membolehkan penyulitan homomorphic dalam bahasa pengaturcaraan Swift. Nota: Penyulitan Homomorfik (HE) merujuk kepada algoritma penyulitan yang memenuhi sifat operasi homomorfik teks sifir Iaitu, selepas data disulitkan secara homomorfik, pengiraan khusus dilakukan pada teks sifir, dan hasil pengiraan teks sifir yang diperolehi diproses pada masa yang sama. masa. Teks biasa selepas penyahsulitan keadaan adalah bersamaan dengan melakukan pengiraan yang sama secara langsung pada data teks biasa, mencapai "halimunan" data. Teknologi penyulitan homomorfik boleh mengira data yang disulitkan tanpa membocorkan data asas yang tidak disulitkan kepada proses operasi.

iOS 17: Cara menukar gaya jam iPhone dalam mod siap sedia iOS 17: Cara menukar gaya jam iPhone dalam mod siap sedia Sep 10, 2023 pm 09:21 PM

Siap sedia ialah mod skrin kunci yang diaktifkan apabila iPhone dipalamkan ke dalam pengecas dan berorientasikan dalam orientasi mendatar (atau landskap). Ia terdiri daripada tiga skrin berbeza, satu daripadanya dipaparkan masa skrin penuh. Teruskan membaca untuk mengetahui cara menukar gaya jam anda. Skrin ketiga StandBy memaparkan masa dan tarikh dalam pelbagai tema yang boleh anda leret secara menegak. Sesetengah tema juga memaparkan maklumat tambahan, seperti suhu atau penggera seterusnya. Jika anda menahan sebarang jam, anda boleh bertukar antara tema yang berbeza, termasuk Digital, Analog, Dunia, Suria dan Terapung. Terapung memaparkan masa dalam nombor gelembung besar dalam warna yang boleh disesuaikan, Solar mempunyai fon yang lebih standard dengan reka bentuk suar matahari dalam warna yang berbeza, dan Dunia memaparkan dunia dengan menyerlahkan

Penyepaduan bahasa Vue.js dan Swift, cadangan untuk pembangunan dan ujian aplikasi iOS lanjutan Penyepaduan bahasa Vue.js dan Swift, cadangan untuk pembangunan dan ujian aplikasi iOS lanjutan Aug 01, 2023 am 09:53 AM

Vue.js ialah rangka kerja JavaScript yang popular untuk membina antara muka pengguna. Bahasa Swift ialah bahasa pengaturcaraan yang digunakan untuk pembangunan aplikasi iOS dan macOS. Dalam artikel ini, saya akan meneroka cara mengintegrasikan Vue.js dengan bahasa Swift untuk pembangunan dan ujian aplikasi iOS lanjutan. Sebelum kami bermula, kami perlu memastikan anda memasang perisian dan alatan berikut: Xcode: persekitaran pembangunan bersepadu untuk membangun dan menyusun aplikasi iOS. Node.js: digunakan untuk

Cara menggunakan MySQL untuk melaksanakan fungsi import dan eksport data dalam Swift Cara menggunakan MySQL untuk melaksanakan fungsi import dan eksport data dalam Swift Aug 01, 2023 pm 11:57 PM

Cara melaksanakan fungsi import dan eksport data dalam Swift menggunakan MySQL Mengimport dan mengeksport data adalah salah satu fungsi biasa dalam banyak aplikasi. Artikel ini akan menunjukkan cara menggunakan pangkalan data MySQL untuk mengimport dan mengeksport data dalam bahasa Swift, dan memberikan contoh kod. Untuk menggunakan pangkalan data MySQL, anda perlu memperkenalkan fail perpustakaan yang sepadan terlebih dahulu ke dalam projek Swift. Anda boleh melakukan ini dengan menambah kebergantungan berikut dalam fail Package.swift: dependencies:[

Apa itu Discuz? Definisi dan pengenalan fungsi Discuz Apa itu Discuz? Definisi dan pengenalan fungsi Discuz Mar 03, 2024 am 10:33 AM

"Meneroka Discuz: Definisi, Fungsi dan Contoh Kod" Dengan perkembangan pesat Internet, forum komuniti telah menjadi platform penting untuk orang ramai mendapatkan maklumat dan bertukar pendapat. Di antara banyak sistem forum komuniti, Discuz, sebagai perisian forum sumber terbuka yang terkenal di China, digemari oleh majoriti pembangun dan pentadbir laman web. Jadi, apa itu Discuz? Apakah fungsi yang ada padanya, dan bagaimana ia boleh membantu tapak web kami? Artikel ini akan memperkenalkan Discuz secara terperinci dan melampirkan contoh kod khusus untuk membantu pembaca mengetahui lebih lanjut mengenainya.

Definisi dan fungsi kunci utama komposit MySQL Definisi dan fungsi kunci utama komposit MySQL Mar 15, 2024 pm 05:18 PM

Kunci utama komposit dalam MySQL merujuk kepada kunci utama yang terdiri daripada pelbagai medan dalam jadual, yang digunakan untuk mengenal pasti setiap rekod secara unik. Tidak seperti kunci utama tunggal, kunci utama komposit dibentuk dengan menggabungkan nilai berbilang medan. Apabila membuat jadual, anda boleh menentukan kunci utama komposit dengan menentukan berbilang medan sebagai kunci utama. Untuk menunjukkan definisi dan fungsi kunci utama komposit, kami mula-mula membuat jadual bernama pengguna, yang mengandungi tiga medan: id, nama pengguna dan e-mel, dengan id ialah kunci utama dan pengguna yang meningkat secara automatik

Cara membuat sempadan tersuai dalam Microsoft Word Cara membuat sempadan tersuai dalam Microsoft Word Nov 18, 2023 pm 11:17 PM

Ingin menjadikan muka depan projek sekolah anda kelihatan menarik? Tiada apa-apa yang menonjolkannya daripada penyerahan lain seperti sempadan yang cantik dan elegan pada halaman utama buku kerja anda. Walau bagaimanapun, sempadan satu baris standard dalam Microsoft Word telah menjadi sangat jelas dan membosankan. Oleh itu, kami menunjukkan kepada anda langkah-langkah untuk mencipta dan menggunakan sempadan tersuai dalam dokumen Microsoft Word. Cara Membuat Sempadan Tersuai dalam Microsoft Word Mencipta sempadan tersuai adalah sangat mudah. Walau bagaimanapun, anda memerlukan sempadan. Langkah 1 – Muat Turun Sempadan Tersuai Terdapat banyak sempadan percuma di internet. Kami telah memuat turun sempadan seperti ini. Langkah 1 – Cari di Internet untuk sempadan tersuai. Sebagai alternatif, anda boleh pergi ke keratan

Pengenalan kepada antara muka PHP dan cara mentakrifkannya Pengenalan kepada antara muka PHP dan cara mentakrifkannya Mar 23, 2024 am 09:00 AM

Pengenalan kepada antara muka PHP dan bagaimana ia ditakrifkan PHP ialah bahasa skrip sumber terbuka yang digunakan secara meluas dalam pembangunan Web Ia fleksibel, mudah dan berkuasa. Dalam PHP, antara muka ialah alat yang mentakrifkan kaedah biasa antara pelbagai kelas, mencapai polimorfisme dan menjadikan kod lebih fleksibel dan boleh digunakan semula. Artikel ini akan memperkenalkan konsep antara muka PHP dan cara mentakrifkannya, dan menyediakan contoh kod khusus untuk menunjukkan penggunaannya. 1. Konsep antara muka PHP Antara muka memainkan peranan penting dalam pengaturcaraan berorientasikan objek, mentakrifkan aplikasi kelas

See all articles