Salut, orang Khabrovit! Mei telah berakhir, dan kami terus meluncurkan kursus baru. Artikel ini didedikasikan untuk memulai
kursus "iOS-developer .
" Pelatihan akan dimulai pada 28 Mei, dan sampai saat itu Anda memiliki kesempatan untuk mempelajari lebih lanjut tentang bahasa Swift dan fitur-fiturnya. Ini adalah artikel pertama dari tiga, di mana dalam format wawancara, keuntungan dan fitur bahasa Swift diperiksa, di mana kami mengajarkan cara membuat aplikasi iOS di kursus kami.

Apa itu Swift dan apa gunanya?
Swift adalah bahasa pemrograman universal dan multi-paradigma yang dikembangkan oleh Apple untuk mengembangkan solusi untuk iOS, macOS, watchOS, tvOS, dan bahkan Linux.
- Keterbacaan - Swift memiliki sintaks yang sangat bersih dan sederhana yang mudah ditulis dan dibaca.
- Dukungan mudah - output jauh lebih sedikit kode dan tingkat warisan, dan seluruh proyek berubah menjadi file swift tunggal.
- Platform aman - kompilasi dan perbaiki bug saat menulis kode.
- Kecepatan tinggi - kompiler LLVM yang sangat cepat dan efisien mengubah kode Swift menjadi kode asli untuk mendapatkan hasil maksimal dari perangkat. Sintaks itu sendiri dan pustaka standar juga dioptimalkan untuk pekerjaan cepat.
- Dukungan untuk perpustakaan dinamis .
- Sumber terbuka .
Apa perbedaan antara kelas dan struktur?
Ada empat perbedaan utama antara kelas dan struktur di Swift. Kelas memiliki beberapa fitur yang tidak dimiliki struktur:
- Jenis casting - memungkinkan Anda untuk memeriksa dan menafsirkan kelas saat runtime.
- Penghitungan Tautan - memungkinkan Anda menggunakan lebih dari satu tautan untuk setiap instance kelas.
- Warisan - memungkinkan satu kelas mewarisi karakteristik yang lain.
- Deinitializers - Izinkan setiap instance kelas untuk melepaskan semua sumber daya yang ditugaskan untuk itu.
Ketika struktur dilewatkan dalam kode, mereka selalu disalin tanpa penghitungan referensi. Instance dari struktur selalu dilewati oleh nilai, dan instance dari kelas selalu dengan referensi.
Dalam hal mana menggunakan kelas, dan di mana - struktur?
Sebagai lembar contekan sederhana: Struktur harus digunakan ketika satu atau lebih kondisi berikut ini benar.
- Tujuan dari struktur ini adalah untuk merangkum beberapa nilai data yang relatif sederhana;
- Nilai enkapsulasi dapat diharapkan untuk disalin, tidak dirujuk;
- Properti yang disimpan dalam struktur itu sendiri adalah tipe nilai yang juga disalin, bukan dirujuk;
- Struktur tidak boleh mewarisi sifat dan perilaku tipe lain yang ada.
Dalam kasus lain, gunakan kelas: tentukan kelas, buat instance untuk mengelola dan lulus dengan referensi.
Bagaimana cara mengirimkan variabel sebagai tautan?
Suatu variabel dapat dikirimkan sebagai referensi menggunakan
parameter inout .
Inout berarti bahwa mengubah variabel lokal juga akan mengubah parameter yang dikirimkan.
var value: String = βAppleβ func changeString(newValue:inout String) { newValue = βSamsungβ print(newValue)
Apa itu modul?
- Modul adalah unit terpisah dalam distribusi kode;
- Platform atau aplikasi yang dibuat dan didistribusikan sebagai unit terpisah dan dapat diimpor oleh modul lain;
- Setiap build goal - paket aplikasi atau framework dalam Xcode dianggap sebagai modul terpisah.
Apa perbedaan tingkat akses di Swift?
Swift memiliki lima tingkat akses berbeda untuk entitas dalam kode:
- Akses terbuka - kelas dengan akses terbuka dapat berupa subclass atau diganti oleh subclass dalam modul di mana mereka didefinisikan, atau dalam lainnya yang mengimpor modul di mana mereka didefinisikan;
- Akses publik - kelas dengan akses publik dapat berupa subclass atau didefinisikan ulang oleh subclass hanya dalam modul di mana mereka didefinisikan;
- Akses internal - entitas dapat digunakan dalam file sumber apa saja dari modul yang ditentukan, tetapi tidak dalam file sumber di luar modul ini;
- Akses file-pribadi - penggunaan entitas dibatasi oleh file sumber yang menentukan sendiri;
- Akses pribadi - penggunaan entitas dibatasi oleh deklarasi terlampir dan ekstensi deklarasi ini, yang berada dalam file yang sama.
Akses terbuka adalah tingkat tertinggi dan paling tidak dibatasi, dan akses pribadi adalah yang terendah dan, karenanya, yang paling terbatas. Secara default, semua entitas dalam kode memiliki tingkat akses internal.
Apa yang menunda inisialisasi?
Inisialisasi tertunda adalah teknik menunda penciptaan suatu objek atau pelaksanaan proses lain sampai proses ini menjadi perlu. Keterlambatan hanya dapat digunakan dengan kelas dan struktur. Namun, harus dipahami bahwa properti
malas tidak aman, karena tidak secara otomatis diinisialisasi.
Anda selalu perlu mendeklarasikan properti
lazy sebagai variabel menggunakan
var . Properti konstanta harus selalu memiliki nilai sebelum inisialisasi selesai, sehingga tidak dapat ditunda.
Apa itu tuple?
Sebuah tuple adalah sekelompok nilai nol atau lebih yang direpresentasikan sebagai nilai tunggal. Mereka biasanya digunakan untuk mengembalikan beberapa nilai dari fungsi panggilan. Swift memiliki dua jenis tupel.
Nama iring-iringan let nameAndAge = (name:βMidhunβ, age:7) Access the values like: nameAndAge.name
Iring-iringan tanpa namaDalam jenis tuple ini, kami tidak menentukan nama untuk elemen.
let nameAndAge = (βMidhunβ, 7) Access the values like: nameAndAge.0
Apa itu transfer?
Menggunakan enumerasi, tipe umum untuk sekelompok nilai terkait ditentukan dan kemampuan untuk bekerja dengan aman dengan nilai-nilai ini dalam kode disediakan. Tidak seperti C dan Objective-C, di Swift, enumerasi tidak ditetapkan sebagai bilangan bulat default saat dibuat.
Apa nilai terkait?
Nilai terkait sangat mirip dengan variabel yang terkait dengan salah satu kasus enumerasi.
enum Barcode { case upc(Int, Int, Int, Int) case qrCode(String) }
Kami menentukan jenis enumerasi
Barcode , yang dapat mengambil nilai upc dengan nilai terkait dari tipe
(Int, Int, Int, Int) , atau nilai
qrCode dengan nilai terkait dari tipe
String .
Kadang-kadang kemampuan untuk menyimpan nilai terkait dari tipe lain di samping nilai kasus dapat berguna. Ini memungkinkan Anda untuk menyimpan informasi pengguna tambahan bersama dengan nilai kasus dan memungkinkan Anda untuk mengubah informasi ini setiap kali Anda menggunakan kasus ini dalam kode.
Akhir dari bagian pertama.
Bagian kedua.
Kami mengundang semua orang untuk berpartisipasi dalam
webinar gratis , tempat kami akan memberi tahu Anda apa yang akan diajarkan kursus ini kepada Anda.