Video: How does a blockchain work - Simply Explained 2024
Dalam Swift, pembolehubah sokongan dinyatakan secara eksplisit jika diperlukan (biasanya dalam kod yang ditukar daripada Objektif-C). Juga, getters tidak perlu menggunakan kata kunci mendapatkan. Ciri-ciri pantas boleh menjadi pembolehubah atau pemalar; setiap jenis boleh sama ada disimpan atau dikira, seperti berikut:
-
Mengisytiharkan harta berubah: Pembolehubah diperkenalkan dengan var kata kunci seperti:
var _fetchedResultsController: NSFetchedResultsController? = nl
-
Mengisytiharkan harta tetap: Pemalar (iaitu, harta yang tidak boleh diubah suai) diperkenalkan dengan perkataan kata kunci. Perisytiharan sebelumnya boleh diubah untuk mengisytiharkan pemalar seperti berikut:
biarkan _fetchedResultsController: NSFetchedResultsController? = nl
-
Mengisytiharkan harta tersimpan: Pengisytiharan _fetchedResultsController yang ditunjukkan dalam penyenaraian berikut adalah perisytiharan tipikal harta tersimpan . Sifat tersimpan adalah harta yang disimpan sebagai sebahagian daripada contoh kelas, penghitungan, atau struktur.
// MARK: - Pengawas hasil dijumpai var fetchResultsController: NSFetchedResultsController {if _fetchedResultsController! = nil {return _fetchedResultsController!} let fetchRequest = NSFetchRequest () // Edit nama entiti yang sesuai. biarkan entiti = NSEntityDescription. entityForName ("Event", inManagedObjectContext: self. managedObjectContext!) fetchRequest. entiti = entiti // Tetapkan saiz batch ke nombor yang sesuai. fetchRequest. fetchBatchSize = 20 // Edit kekunci jenis yang sesuai. mari sortDescriptor = NSSortDescriptor (kunci: "timeStamp", naik: false) mari sortDescriptors = [sortDescriptor] fetchRequest. sortDescriptors = [sortDescriptor] // Edit nama jalur seksyen dan nama cache sekiranya sesuai. // nil untuk laluan utama nama bahagian bermaksud "tiada bahagian". mari aFetchedResultsController = NSFetchedResultsController (fetchRequest: fetchRequest, managedObjectContext: self. managedObjectContext!, sectionNameKeyPath: nil, cacheName: "Master") aFetchedResultsController. mewakilkan = self _fetchedResultsController = aFetchedResultsController var error: NSError? = tiada jika! _fetchedResultsController!. performFetch (& error) {// Ganti pelaksanaan ini dengan kod untuk mengendalikan // kesalahan dengan sewajarnya. // abort () menyebabkan aplikasi menghasilkan // log keranapan dan tamat. Anda tidak seharusnya menggunakan fungsi // ini dalam aplikasi penghantaran, walaupun ia mungkin bermanfaat semasa pembangunan. println ("Kesalahan yang tidak dapat diselesaikan (ralat), (ralat userInfo)") abort ()} kembali _fetchedResultsController!} var _fetchedResultsController: NSFetchedResultsController?= nilBy lalai, pembolehubah yang diluluskan ke setter dinamakan newValue,
dan Swift menggunakan jenis yang sesuai untuknya.
Contohnya menggunakan pola Objektif-C untuk pemboleh ubah sokongan: Sifat disimpan Swift tidak perlu dimulakan dengan watak istimewa seperti underscore; Walau bagaimanapun, mereka perlu diinisikan dan diberi jenis (mungkin disimpulkan dari permulaan) sebelum digunakan.
var _fetchedResultsController: NSFetchedResultsController? = nl
-
Mengisytiharkan harta yang dikira dengan geter dan setter: Titik ini sepatutnya penjelasan. Penyenaraian menunjukkan pengambil dasar dan penyedia harta Swift. Anda dapat melihat bahawa myVar mempunyai pemboleh ubah myInt. Kata kunci mendapatkan dan tetapkan mengenalpasti pengambil dan pengatur.
var myInt: Int = 0 var myVar: Int {get {return myInt} set {myInt = newValue}} myVar = 20
Ini adalah cara anda membuat
var detailItem: AnyObject? {didSet {// Perbarui pandangan. diri sendiri. configureView ()}} Tetapkan titik putus dalam kaedah ini dan jalankan aplikasi dalam Simulator iOS. Butang menyebabkan kaedah dipanggil.
Ini adalah tempat yang baik untuk memanggil updater pandangan (yang betul-betul apa yang dilakukan dalam templat). Terdapat dua pemerhati yang boleh anda gunakan:
didSet: Ini dipanggil selepas fakta.
-
willSet: Ini dipanggil tepat sebelum tetapan berlaku.