Sundell tomonidan Swift birinchi 6 oy ichida eng yaxshisi

Olti oy oldin men o'z oldimga bir vazifa qo'ydim - butun hayotim davomida yozgan bloglarim sonini bitta qo'lda sanab oladigan kishi sifatida - har hafta Swift haqida bitta yangi maqola yozishni boshlashim mumkinmi?

Endi 26 xabardan so'ng, men ushbu vazifani qabul qilishga qaror qilganimdan juda xursandman. Har hafta yangi xabar yozish juda qiyin, ammo qiziqarli, qiziqarli va juda foydali. Men Svift haqida ham, yozish haqida ham ko'p narsalarni o'rgandim, va jamiyatdan olgan barcha ajoyib mulohazalar va savollardan juda xursandman va xursandman.

Yaqin orada buni to'xtatishni rejalashtirmagan bo'lsam-da, men bir daqiqani ajratib, ushbu muhim voqeani nishonlamoqchiman - o'tgan olti oyga nazar tashlab, birinchi davralarimdagi eng yaxshi tarkibni sanab o'tmoqchiman.

Qani, sho'ng'iymiz!

Eng mashhur

Bular - siz o'qigan va ulashgan soniga ko'ra sizga eng mashhur bo'lgan beshta xabar.

Sw Sviftda muvaffaqiyatsizlikka uchrashning to'g'ri yo'lini tanlash

Bu mening barcha postlarim orasida eng ommabopi, men Swift-dagi xatolar bilan ishlashning turli xil variantlarini ko'rib chiqaman. Xatolarni ularni qayta ishlash uchun eng munosib texnikani tanlash uchun, men tuzatiladigan va qaytarilmaydigan qilib ajratdim.

Sw Svift kompilyatsiya vaqtini yaxshilash

Men ishlayotgan yirik loyihalardan biriga o'zgartirishlar kiritganimdan so'ng, uning ish vaqtini 20% ga qisqartirishga muvaffaq bo'ldim. Ushbu postda men ushbu narsadan olgan bilimlarim bilan o'rtoqlashaman va kompilyatsiya qilish uchun uzoq vaqt talab qiladigan kod bloklarini aniqlash bo'yicha ba'zi maslahatlarni taqdim etaman.

Swift-da ixtiyoriy bo'lmagan ixtiyoriy ishlov berish

Objective-C-dan Swift-ga o'tayotgan ko'pchilik ishlab chiquvchilar uchun bitta katta o'zgarish ixtiyoriy va parametr bo'lmagan parametrlar va parametrlar haqida o'ylashni boshlagan edi. Ushbu lavozimda men odatda yaxshilanmagan arxitektura va yanada barqaror kodga olib keladigan ixtiyoriy bo'lmagan sonlarni kamaytirishga yordam beradigan ba'zi texnikalarni ko'rib chiqaman.

Sw Swift bloki sinovlarida sayohat vaqti

Xurmo bilan muomala qilish har doim ham qiyin, ayniqsa bloklarni sinovdan o'tkazishda, siz joriy sana va vaqt oralig'iga juda ko'p ishlaydigan kodni tasdiqlamoqchi bo'lsangiz. Ushbu xabarda osongina ishlatilishi mumkin bo'lgan texnik qo'llanma mavjud, bu sizning kodingizga tezkor tarixlarni tezkor ravishda taqdim etish imkonini beradi va bu sizning testlaringizda "vaqt sayohat" qilish imkoniyatini beradi.

Sw Sviftdagi Grand Markaziy Dispatchga chuqur sho'ng'ish

Men ramkaga chuqur sho'ng'ishni yaxshi ko'raman, ayniqsa men uzoq vaqtdan beri foydalanib kelgan narsalar. Grand Central Dispatch (GCD) ana shulardan biridir va bu birinchi bo'lib (menimcha ko'p bo'ladi) chuqur sho'ng'in - men eng ko'p ishlatiladigan API-lardan tashqariga chiqaman va haqiqatan ham juda kuchli (va unchalik taniqli emasman) bilan tanishaman. ) ko'plab keng tarqalgan muammolarni hal qilishga yordam beradigan xususiyatlar.

Sevimlilarim

O'zingiz yaratgan narsadan sevimlilarni tanlash juda qiyin, lekin shunchaki bu xabarlar ularning paydo bo'lganidan eng mamnun ekanligimni aytaylik:

Sw Sviftdagi modellashtirish holati

Bu kitobxonlarning sevimlilari ichida eng yaqin pog'onani egallagan va shubhasiz mening eng sevimlilarimdan biridir. Yozish juda kulgili edi va men ushbu postning g'oyalarini etkazganimdan va hamjamiyat tomonidan qabul qilingan munosabatdan juda xursandman. Gap shundaki, davlat boshqaruvi kodeksini haqiqatning yagona manbalarini qo'llash va davlatning reaktsiyasini o'zgartirish orqali qanday qilib osonlashtirish mumkin.

3 3 oson bosqichda tizim singletonlaridan foydalanadigan Swift kodini sinash

Men sinovni ulkan muxlisiman, shuning uchun testni osonroq va tezroq qilish uchun qila oladigan narsa odatda men qiziqadigan narsadir. Men har doim o'z kodimni sinab ko'radigan tarzda yozishga harakat qilaman, lekin bu juda ko'p kod. biz har kuni yozamiz tizim APIsi bilan o'zaro aloqalar - va ularning ko'plari singletonga asoslangan. Singletons odatda kodni sinab ko'rishning iloji yo'qligi bilan tanilgan, ammo bu yozuvda osonlikcha o'zgartirish uchun men 3 qadam bosib o'taman.

Fut "Fyuchers va Sviftdagi va'dalar" shiori ostida

Bu, yozish paytida, mening eng so'nggi xabarim - va uning qanday bo'lganidan mamnunman. Fyuchers va va'dalar - bu asinxron kod bilan shug'ullanishning juda qiziq usuli, ammo ba'zida boshingizni o'rash biroz qiyin bo'lishi mumkin (ayniqsa, kelajak va va'da o'rtasidagi farq nima ekanligi haqida gap ketganda). Shuning uchun men ushbu lavozimda narsalarni buzib tashlamoqchi edim va "Fyuchers va va'dalar" noldan qanday qilib ko'p kodsiz amalga oshirilishini ko'rsatmoqchiman.

Sw Swift-da deklarativ animatsiya doirasini yaratish

Men birinchi marotaba ancha katta mavzuni - deklarativ animatsiya ramkasini noldan boshlab - 2 qismli postda ko'rib chiqdim. Buni amalga oshirish juda kulgili edi va jamiyatdagi ko'plab odamlar ushbu post asosida o'z vositalarini qurgan yoki ilgari shunga o'xshash yondoshganlarini eshitish juda yaxshi bo'ldi. 2 qismdan iborat tushuncha kelajakda albatta qaytadi .

Birlashtirilgan Swift error API-ni taqdim etish

Hammasini boshlagan xabar! Ushbu postni yozayotgan paytimda men yozishni yoqtirishimni yoki biron bir kishi mening postlarimni o'qishga qiziqish bildirishini bilmas edim. O'sha paytdan beri mening xabarlarim juda ko'p rivojlangan deb o'ylayman, lekin bu xabar har doim qalbimda alohida o'rin egallaydi. Xatolarni qanday hal qilish va API qanday xatolarni tashlashi mumkinligi haqida o'ylash orqali qanday qilib yaxshiroq API-ni loyihalashtirish mumkinligi haqida.

Mana yana 6 oy!

Siz har bir postni o'qiganmisiz yoki ushbu blogga birinchi marta tashrif buyurganingiz uchun - rahmat ! Sizlarning ko'pchiligingiz ushbu xabarlarni o'qiyotganingiz, sharhlayotganingiz va baham ko'rganingiz men uchun juda muhim narsani anglatadi va siz har haftada yangi narsalarni yozishda davom ettirishga undaysiz.

Men buni iloji boricha davom ettirishni rejalashtirmoqdaman - endi ushbu muhim kun nishonlanganligi sababli, men yana 6 oylik haftalik xabarlarni kutaman!

Safarda qolasiz degan umiddaman va har doimgidek, o'qiganingiz uchun tashakkur!