EasySwift iOS🍏
3.02K subscribers
268 photos
8 videos
393 links
ВсС самоС интСрСсноС Π² ΠΌΠΈΡ€Π΅ iOS Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ πŸ§‘πŸ»β€πŸ’»

ΠŸΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ ΡΡ‚Π°Ρ‚ΡŒΡŽ ΠΈΠ»ΠΈ Π½ΠΎΠ²ΠΎΡΡ‚ΡŒ: @EasySwiftBot

По всСм вопросам ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ @itereznikov
Download Telegram
Как ΠΏΠ΅Ρ€ΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ UISlider Π² Swift

Данная ΡΡ‚Π°Ρ‚ΡŒΡ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π° Π΄Π²Π΅ части: пСрвая ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ваш слайдСр Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‰ΠΈΠΌΡΡ ΠΎΡ‚ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½ΠΎΠ³ΠΎ слайдСра, ΠΊΠΎΡΡ‚Π°ΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ. Вторая Ρ‡Π°ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ значСния.

CΡ‚Π°Ρ‚ΡŒΡ ΠΏΡ€ΠΎ кастомный UISlider
πŸ”₯5πŸ‘2❀1
Π§Ρ‚ΠΎ ΠΏΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅ΠΌΡƒ iOS Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ?

Π―Π·Ρ‹ΠΊ Swift прост, понятСн ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ ΠΊΠ°ΠΊ Π½ΠΎΠ²ΠΈΡ‡ΠΊΠ°ΠΌ, Ρ‚Π°ΠΊ ΠΈ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹ΠΌ программистам. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π²Π°ΠΌ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ эта ΠΊΠ½ΠΈΠ³Π°, ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€ ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ. ВсС Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ программирования ΠΈ основы синтаксиса ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‚ΡΡ доступным языком, поэтому Ссли Π²Ρ‹ Π½ΠΈΠΊΠΎΠ³Π΄Π° Ρ€Π°Π½ΡŒΡˆΠ΅ Π½Π΅ занимались Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ, Ρ‚ΠΎ эта ΠΊΠ½ΠΈΠ³Π° – ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ старт. ВСория чСрСдуСтся с практичСскими ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΈ ΠΊΠΎΠ΄ΠΎΠΌ – Ρ‚Π°ΠΊ Π²Ρ‹ сразу смоТСтС ΡΠ²ΡΠ·Π°Ρ‚ΡŒ абстрактныС понятия с Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ситуациями. Π’ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Π»Π°Π²Π΅ вас ΠΆΠ΄ΡƒΡ‚ тСсты ΠΈ домашниС задания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π·Π°ΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π».

#ΠΊΠ½ΠΈΠ³Π°
πŸ‘28❀1
Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ UIScrollView

Π‘Ρ‚Π°Ρ‚ΡŒΡ ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ UIScrollView, ΠΊΠ°ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ‹ Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΠ΅, баунс, spring animation ΠΈ rubber band effect ΠΈ ΠΊΠ°ΠΊ, примСняя эти знания для собствСнных UI-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ², ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ СстСствСнной Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‡ΠΈΠ²ΠΎΠ³ΠΎ интСрфСйса Π² прилоТСниях.
πŸ”₯8πŸ‘5πŸ‘3❀1
β€˜Factory Method’ Pattern in Swift

Π¨Π°Π±Π»ΠΎΠ½ Β«Π€Π°Π±Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄Β» β€” это творчСский шаблон проСктирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ абстрагируСт процСсс создания экзСмпляров. Π¨Π°Π±Π»ΠΎΠ½ создания ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚, ΠΊΡ‚ΠΎ создаСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈ Ρ‡Ρ‚ΠΎ/ΠΊΠ°ΠΊ/ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ создаСтся.

Π­Ρ‚ΠΎΡ‚ шаблон слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Ρƒ нас Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ. Π˜Ρ… экзСмпляры ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ слоТными ΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ вычислСний для ΠΈΡ… создания. Π¨Π°Π±Π»ΠΎΠ½ Β«Π€Π°Π±Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄Β» инкапсулируСт ΠΈΡ… экзСмпляры, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ ΠΈΡ… созданиС Π² Ρ€Π°Π·Π½Ρ‹Ρ… мСстах

Π­Ρ‚ΠΎΡ‚ шаблон слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π»ΠΎΠ³ΠΈΠΊΠ° создания ΠΈ созданиС экзСмпляров Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ. ΠšΠ»ΠΈΠ΅Π½Ρ‚ тСсно связан с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ, Ссли Π΅Π³ΠΎ Ρ‚ΠΈΠΏ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π΅Π³ΠΎ классС. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈ инстанцированиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² подкласс, ΠΌΡ‹ Π·Π°Ρ‰ΠΈΡ‰Π°Π΅ΠΌ ΠΊΠΎΠ΄ ΠΎΡ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ API. Если ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ классу ΠΈ Π΅Π³ΠΎ API Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, Π½Π° клиСнтский ΠΊΠΎΠ΄ Π½Π΅ Π²Π»ΠΈΡΡŽΡ‚ измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΠΌΡƒ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹. РСализуя интСрфСйс, Ρ„Π°Π±Ρ€ΠΈΡ‡Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π°Π±ΡΡ‚Ρ€Π°ΠΊΡ†ΠΈΡŽ, Π° Π½Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ, поэтому ΠΌΡ‹ Π·Π°Ρ‰ΠΈΡ‰Π°Π΅ΠΌ ΠΊΠΎΠ΄ ΠΎΡ‚ Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.
πŸ‘5❀4πŸ”₯3😁1🀯1
Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ источник ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎ UI Π² UIKit.

ΠœΡ‹ ΠΏΡ€ΠΈΠ²Ρ‹ΠΊΠ»ΠΈ Π²ΠΎΡΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ UI ΠΊΠ°ΠΊ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΡƒΡŽ, Π½ΠΎ вСдь UI – это User Interface. Π’Π°ΠΊ Π²ΠΎΡ‚, интСрфСйс – это Ρ‚ΠΎ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‡Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ взаимодСйствуСт с нашим ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ. Π’ случаС с графичСским интСрфСйсом ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΅Π³ΠΎ Π²ΠΈΠ΄ΠΈΡ‚ ΠΈ воспринимаСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Однако ΠΎΠ½ Π½Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΈ, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ…ΠΎΡ‡Π΅Ρ‚ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π½ΠΈΠΌ, ΠΎΠ½ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ интСрфСйсы: тачскрин, ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρƒ ΠΈΠ»ΠΈ ΠΌΡ‹ΡˆΠΊΡƒ. Π”Π°, это Ρ‚ΠΎΠΆΠ΅ интСрфСйсы. И UIKit ΠΊΠ°ΠΊ Ρ€Π°Π· Ρ‚Π°ΠΊΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π½Π΅ Π·Π° графичСский интСрфСйс, Π° Π·Π° распознаваниС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ТСстов ΠΈ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ.

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅, Π²Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚Π΅ свои знания ΠΏΡ€ΠΎ Core Graphics & Metal, Responder Chain, UIView ΠΈ CALayer, frame/bounds, Content, Coordinate System, Visual Effects, Shadow, Mask, Scale.
πŸ‘9πŸ”₯4❀1
Как устроСн счСтчик ссылок Π² Swift

Π’ процСссС выполнСния прилоТСния Π² памяти создаСтся мноТСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². И Ссли ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ Π½Π΅ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ лишниС, Ρ‚ΠΎΠ³Π΄Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ закончится. Π§Ρ‚ΠΎΠ±Ρ‹ этого ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ, Π½ΡƒΠΆΠ΅Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ освобоТдСния памяти. Π“Π»Π°Π²Π½Ρ‹ΠΉ Π΅Π³ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ – это отслСТиваниС достиТимости ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’ΠΎ Π΅ΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΅ΡΡ‚ΡŒ ссылки, Ρ‚ΠΎ ΠΎΠ½ считаСтся достиТимым. А ΠΏΠΎΠΊΠ° Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ…ΠΎΡ‚ΡŒ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ссылаСтся – Π·Π½Π°Ρ‡ΠΈΡ‚ Π΅Π³ΠΎ нСльзя ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΈΠ· памяти. И ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΎΠΏΠ°Π΄Π΅Ρ‚ послСдняя ссылка, Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ уничтоТаСтся ΠΈ освобоТдаСтся занятая ΠΈΠΌ ΠΏΠ°ΠΌΡΡ‚ΡŒ.

Для отслСТивания доступности ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½ΡƒΠΆΠ΅Π½ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ отслСТивания Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ссылок. Π’ Swift этот Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π² Π²ΠΈΠ΄Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° автоматичСского подсчСта ссылок. Automatic Reference Counter, ΠΈΠ»ΠΈ сокращСнно ARC – появился Π΅Ρ‰Π΅ со Π²Ρ€Π΅ΠΌΠ΅Π½ Objective-C. Π’ Π΅Π³ΠΎ основС счСтчик ссылок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΅ΡΡ‚ΡŒ Ρƒ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° класса.

Π‘ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΆΠ΅ ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΎ ARC, Π²ΠΈΠ΄Ρ‹ ссылок, side table, ΠΆΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π±ΠΈΡ‚ΠΎΠ²ΠΎΠ΅ ΠΏΠΎΠ»Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅
πŸ‘12❀2πŸ”₯1
ПишСм свой сСтСвой слой Π½Π° Swift: ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄

БСйчас практичСски 100% ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΡΠ΅Ρ‚ΡŒΡŽ, поэтому вопрос ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ использования сСтСвого слоя встаСт ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ. Π•ΡΡ‚ΡŒ Π΄Π²Π° основных ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, это Π»ΠΈΠ±ΠΎ использованиС сторонних Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Π»ΠΈΠ±ΠΎ собствСнная рСализация сСтСвого слоя. Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ расматриваСтся ΠΈΠΌΠ΅Π½Π½ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, рСализуСтся сСтСвой слой с использованиСм всСх послСдних возмоТностСй языка, примСняя ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ ΠΈ пСрСчислСния. Π­Ρ‚ΠΎ избавляСт ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΎΡ‚ Π»ΠΈΡˆΠ½ΠΈΡ… зависимостСй Π² Π²ΠΈΠ΄Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. Π’Π΅, ΠΊΡ‚ΠΎ Ρ…ΠΎΡ‚ΡŒ Ρ€Π°Π· Π²ΠΈΠ΄Π΅Π» Moya, сразу ΡƒΠ·Π½Π°ΡŽΡ‚ мноТСство схоТих Π΄Π΅Ρ‚Π°Π»Π΅ΠΉ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ использовании, Ρ‚Π°ΠΊ ΠΎΠ½ΠΎ ΠΈ Π΅ΡΡ‚ΡŒ, Π½Π΅ трогая Moya ΠΈ Alamofire.

Π‘Ρ‚Π°Ρ‚ΡŒΡ для просмотра
πŸ”₯12πŸ‘5❀2
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Custom BottomSheet

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ происходит рСализация создания кастомного BottomSheet c Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ распознования ТСстов, ограничСния двиТСния ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ касания.
πŸ‘5❀3πŸ”₯3
iOS Run Loop: Π§Ρ‚ΠΎ? Когда? Π—Π°Ρ‡Π΅ΠΌ?

Run Loop (Ρ†ΠΈΠΊΠ» исполнСния) являСтся ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ события (events) бСсконСчно Π² любоС врСмя.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΠΎΡ‚ΠΎΠΊ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Π±Ρ‹Π²Π°Ρ‚ΡŒ Π² Ρ†ΠΈΠΊΠ»Π΅ β€œΠΏΡ€ΠΈΠ΅ΠΌ сообщСния -> ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ -> ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° -> спячка Π΄ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ сообщСния -> ΠΏΡ€ΠΈΠ΅ΠΌ сообщСния” Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° этого Ρ†ΠΈΠΊΠ»Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π±Ρ‹Π»ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ сообщСниС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ), послС Ρ‡Π΅Π³ΠΎ функция Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΎΠΌ.

Когда слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» исполнСния?
Cocoa прСдоставляСт ΠΊΠΎΠ΄ для запуска основного Ρ†ΠΈΠΊΠ»Π° (main loop) ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ автоматичСского запуска Ρ†ΠΈΠΊΠ»Π° исполнСния. ΠœΠ΅Ρ‚ΠΎΠ΄ запуска UIApplication Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ IOS (ΠΈΠ»ΠΈ NSApplication Π² Mac OS X) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ этапа запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Он запустит основной Ρ†ΠΈΠΊΠ» ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ Π΅Π΅ запуск.

Для Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΆΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π²Π°ΠΌ самим Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ
ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Π½ΡƒΠΆΠ½Ρ‹ Π»ΠΈ ΠΈΠΌ Ρ†ΠΈΠΊΠ»Ρ‹ исполнСния. Если Π½ΡƒΠΆΠ½Ρ‹, Ρ‚ΠΎ Π²Π°ΠΌ придСтся Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈΡ… ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π²Π°ΠΌ Π½Π΅ рСкомСндуСтся Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ» исполнСния для ΠΏΠΎΡ‚ΠΎΠΊΠ° Π½ΠΈ ΠΏΡ€ΠΈ ΠΊΠ°ΠΊΠΈΡ… ΠΎΠ±ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΡΡ‚Π²Π°Ρ…. НапримСр, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ, Π²Π°ΠΌ слСдуСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ запуска Ρ†ΠΈΠΊΠ»Π° исполнСния. Запуск Ρ†ΠΈΠΊΠ»Π° исполнСния ΠΎΠΏΡ€Π°Π²Π΄Π°Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ.

Π˜Π½Ρ‚Π΅Ρ€Π΅ΡΠ½Ρ‹Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΏΡ€ΠΎ Run Loop: ΡΡ‚Π°Ρ‚ΡŒΡ, ΡΡ‚Π°Ρ‚ΡŒΡ
❀6πŸ”₯3πŸ‘2
ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ основы Auto Layout

Auto Layout β€” это ΡΠΈΡΡ‚Π΅ΠΌΠ° вСрстки. ΠŸΡ€Π΅ΠΆΠ΄Π΅, Ρ‡Π΅ΠΌ ΡƒΠ³Π»ΡƒΠ±ΠΈΡ‚ΡŒΡΡ Π² Π½Π΅Ρ‘, ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ ΡΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ вСрсткС Π²ΠΎΠΎΠ±Ρ‰Π΅. Π—Π°Ρ‚Π΅ΠΌ займСмся Auto Layout β€” разбСрСмся ΠΊΠ°ΠΊΡƒΡŽ Π·Π°Π΄Π°Ρ‡Ρƒ ΠΎΠ½ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΈ ΠΊΠ°ΠΊ это Π΄Π΅Π»Π°Π΅Ρ‚. Рассмотрим ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Π² ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Auto Layout Π² iOS, ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Π²Ρ‹Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€Π°ΠΊΡ‚ичСскиС совСты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ с Π½ΠΈΠΌ.

Auto Layout ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ. БистСмы Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ Π·Π½Π°ΠΊΠΎΠΌΡ‹ Π½Π°ΠΌ Π΅Ρ‰Π΅ со ΡˆΠΊΠΎΠ»Ρ‹ β€” ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ Ρ„ΠΈΠ³ΡƒΡ€Π½ΠΎΠΉ скобкой, Π° ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ β€” ΡƒΠΆΠ΅ Π±Π΅Π·. Π’Π°ΠΊΠΆΠ΅ Ρƒ ΡΠΈΡΡ‚Π΅ΠΌ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ Π΅ΡΡ‚ΡŒ сущности, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Auto Layout β€” ограничСния. ΠžΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‚ΡΡ прямой Π»ΠΈΠ½ΠΈΠ΅ΠΉ.

БистСма Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΠΉ особСнна Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ Π½Π΅ΠΉ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° масса ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ: складываниС строк, ΡƒΠΌΠ½ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈΡ… Π½Π° ΠΊΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ ΠΈ Ρ‚.Π΄. Π­Ρ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΌΠΈ прСобразованиями, ΠΈ Ρ ΠΈΡ… ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ систСма приводится ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ΅.

ΠŸΡ€Π΅Π»Π΅ΡΡ‚ΡŒ Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹Ρ… ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠΌΡ‹. Π­Ρ‚ΠΎ ΠΏΠΎΠ΄Π²ΠΎΠ΄ΠΈΡ‚ нас ΠΊ ΠΈΠ½Ρ‚СрСсной ΠΈ Π΄ΠΎΠ²ΠΎΠ»ΡŒΠ½ΠΎ Ρ‚ΠΎΠ½ΠΊΠΎΠΉ ΠΈΠ΄Π΅Π΅, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ начинаСтся вся соврСмСнная вСрстка.
Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ‚ΡƒΡ‚
πŸ‘13πŸ”₯5❀3
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ iOS 14

ОписаниС книги
Если Π²Ρ‹ Π·Π½Π°ΠΊΠΎΠΌΡ‹ с основами Swift, Xcode ΠΈ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° Cocoa, эта ΠΊΠ½ΠΈΠ³Π° прСдоставляСт структурированноС объяснСниС всСх основных ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΌΠΈΡ€Π° iOS-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Благодаря Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠΌΡƒ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΡŽ ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ количСству ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠ΄Π° Π²Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прСдставлСния, ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π°ΠΌΠΈ прСдставлСний ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ iOS.

1. Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅, упорядочивайтС, рисуйтС, Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΈ Π°Π½ΠΈΠΌΠΈΡ€ΡƒΠΉΡ‚Π΅ Π²ΠΈΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΡŽΡ‚ Π½Π° прикосновСниС

2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Ρ‹ прСдставлСния для управлСния нСсколькими экранами интСрфСйса

3. ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ классы интСрфСйса для прСдставлСний ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ, прСдставлСний Ρ‚Π°Π±Π»ΠΈΡ†, прСдставлСний ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ, тСкста, Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΎΠΊΠΎΠ½, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… прСдставлСний, Π²Π΅Π±-прСдставлСний ΠΈ элСмСнтов управлСния.

4. ΠŸΠΎΠ³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ΡΡŒ Π² Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ для Π·Π²ΡƒΠΊΠ°, Π²ΠΈΠ΄Π΅ΠΎ, ΠΊΠ°Ρ€Ρ‚ ΠΈ Π΄Π°Ρ‚Ρ‡ΠΈΠΊΠΎΠ²
Доступ ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌ: ΠΌΡƒΠ·Ρ‹ΠΊΠ°, Ρ„ΠΎΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ, ΠΊΠΎΠ½Ρ‚Π°ΠΊΡ‚Ρ‹ ΠΈ ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€ΡŒ

5. Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ„Π°ΠΉΠ»Ρ‹, сСти ΠΈ ΠΏΠΎΡ‚ΠΎΠΊΠΈ.
πŸ‘28πŸ”₯9❀4
ΠšΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΡ ΠΆΠΈΠ·Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹

Π’ контСкстС ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹Ρ… языков ΠΈΠ»ΠΈ языков с ООП β€” ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° роТдаСтся, ΠΊΠΎΠ³Π΄Π° появляСтся ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ/класс. Π—Π°Ρ‚Π΅ΠΌ, послС этапа написания Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° пСрСдаСтся компилятору. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ обСспСчиваСт Ρ‚.Π½. compile-time β€” врСмя компиляции. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния процСсса компиляции ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ компилят (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ нСпосрСдствСнный Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ нашСго исходного ΠΊΠΎΠ΄Π°). Π’ΠΎ врСмя компиляции наш исходный ΠΊΠΎΠ΄ влияСт Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ компилятора ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π·Π°ΠΊΠΎΠ½Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½Ρ‹ Π² ΠΊΠΎΠ΄Π΅ компилятора.

ПослС получСния компилята, Π½Π°Π΄ Π½ΠΈΠΌ, сразу ΠΈΠ»ΠΈ ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ исполнСн процСсс связывания. Π’ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ - load - time.

Запуск ΠΈ дальнСйшая Ρ€Π°Π±ΠΎΡ‚Π°. НаиболСС извСстныС ΡˆΠΈΡ€ΠΎΠΊΠΎΠΉ ΠΏΡƒΠ±Π»ΠΈΠΊΠ΅ этапы. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½Ρ‹ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ (init-time) ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ исполнСния (run-time). Π’ сущности, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ этого этапа ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° ΠΈ являСтся ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ нСпосрСдствСнной Ρ†Π΅Π»ΡŒΡŽ написания ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. ΠžΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ Π²Π°ΠΆΠ½Ρ‹ΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΆΠΈΠ·Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ являСтся посмСртноС врСмя (death-time), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅, Π²ΠΎΠΏΡ€Π΅ΠΊΠΈ распространСнным прСдставлСниям Ρ‚ΠΎΠΆΠ΅ являСтся Ρ‡Π°ΡΡ‚ΡŒΡŽ ΠΆΠΈΠ·Π½Π΅Π½Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.
πŸ‘10πŸ”₯3❀2
iOS Нотификации. Подписка ΠΈ рассылка

Нотификации Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈΠ·-Π·Π° событий Π² самом ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρƒ) ΠΈΠ»ΠΈ ΠΏΠΎ ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΡŽ с сСрвСра. ΠŸΠ΅Ρ€Π²Ρ‹Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ, Π° Π²Ρ‚ΠΎΡ€Ρ‹Π΅ – ΠΏΡƒΡˆ-нотификациями.

ΠŸΡƒΡˆ-Π½ΠΎΡ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‡Π΅Ρ€Π΅Π· APNs (Apple Push Notification service). Для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ сообщСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½ΡƒΠΆΠ½ΠΎ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ запрос ΠΊ сСрвСру APNs. Π­Ρ‚ΠΎ дСлаСтся Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ способами.

Π§Π΅Ρ€Π΅Π· token соСдинСниС.
Π§Π΅Ρ€Π΅Π· соСдинСниС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ сСртификата.


Π‘Ρ‚Π°Ρ‚ΡŒΡ с практичСским ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ ΠΊΠ°ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Π²ΠΈΠ΄Ρ‹ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ.
πŸ‘14❀4πŸ”₯2
Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Core Data.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Core Data для сохранСния постоянных Π΄Π°Π½Π½Ρ‹Ρ… вашСго прилоТСния для использования Π² Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅, для ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ для добавлСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ Π² вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ устройствС. Для синхронизации Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… устройствах Π² ΠΎΠ΄Π½ΠΎΠΉ ΡƒΡ‡Π΅Ρ‚Π½ΠΎΠΉ записи. iCloud Core Data автоматичСски ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π²Π°ΡˆΡƒ схСму Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ CloudKit.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π΄Π°Π½Π½Ρ‹Ρ… Core Data Π²Ρ‹ опрСдСляСтС Ρ‚ΠΈΠΏΡ‹ ΠΈ взаимосвязи Π²Π°ΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ создаСтС ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ опрСдСлСния классов. Π—Π°Ρ‚Π΅ΠΌ Core Data ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ экзСмплярами ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π²ΠΎ врСмя выполнСния для обСспСчСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽ Π²Π°ΠΌ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‰ΡƒΠΏΠ°Ρ‚ΡŒ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Ρ„Ρ€Π΅ΠΉΠΌΠΎΡ€ΠΊ ΠΎΡ‚ Apple, ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ‡Ρ‚ΠΎ это ΠΈ ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅. Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π΅ Π²Ρ‹ создадитС простой To-Do лист Π±Π΅Π· использования сториборда. Π₯Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Π² Π±Π°Π·Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Core Data.
❀14πŸ‘2
Как Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅, Ρ‚ΠΎΠ»ΠΊΠΎΠ²Ρ‹Ρ… источников с iOS ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ Π½Π΅ Ρ‚Π°ΠΊ ΡƒΠΆ ΠΌΠ½ΠΎΠ³ΠΎ, поэтому Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΊΠ°Π½Π°Π» нашСго ΠΊΠΎΠ»Π»Π΅Π³ΠΈ Mobile Native. Π’Π°ΠΌ Артём ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ Ρ€Π°Π·Π½ΠΎΠ³ΠΎ уровня Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ.

Π’ΠΎΡ‚ нСсколько Ρ‚ΠΎΠΏΠΎΠ²Ρ‹Ρ… постов с ΠΊΠ°Π½Π°Π»Π°

πŸ‘‰ Instagram System Design
πŸ‘‰ Deadlocks in Swift explained
πŸ‘‰ Concurrency in iOS: GCD

ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΠΉΡ‚Π΅ΡΡŒ β†’ @mobile_native
❀3πŸ‘3πŸ”₯2πŸ€”1
iOS вопросы Π½Π° ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ

ВрСмя Π²Π°ΠΆΠ½ΠΎ. БСсконСчный поиск, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² вопросах ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ для iOS, утомляСт ΠΈ ΠΎΡ‚Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ЦСль этой ΡΡ‚Π°Ρ‚ΡŒΠΈ β€” ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ большС вопросов для ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽ с iOS вмСстС с ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ вашС врСмя.

ΠŸΡ€Π΅Π΄Π»Π°Π³Π°ΡŽ ΠΎΡΠ²Π΅ΠΆΠΈΡ‚ΡŒ свои знания, Π° ΠΊΠΎΠΌΡƒ-Ρ‚ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ΅ для сСбя Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΡ‚Π΅.
❀21πŸ‘2
This media is not supported in your browser
VIEW IN TELEGRAM
Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π½Π° iOS β€” восСмь ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² интСрфСйса с ΠΊΠΎΠ΄ΠΎΠΌ

На WWDC 2018 Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€Ρ‹ Apple прСдставили Π΄ΠΎΠΊΠ»Π°Π΄ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Β«Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚Π΅ΠΊΡƒΡ‡ΠΈΡ… интСрфСйсов», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ раскрыли Π΄Π΅Ρ‚Π°Π»ΠΈ ТСстового интСрфСйса IPhone X.

Если Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти ΠΈΠ΄Π΅ΠΈ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅, Ρ‚ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠΏΠ°ΡΡ‚ΡŒ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠ΄Π΅Π΅ΠΉ ΠΈ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ Π΅Ρ‘ Π²ΠΎΠΏΠ»ΠΎΡ‚ΠΈΡ‚ΡŒ

ЦСль Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠΈ β€” ΠΏΡ€Π΅ΠΎΠ΄ΠΎΠ»Π΅Ρ‚ΡŒ эту ΠΏΡ€ΠΎΠΏΠ°ΡΡ‚ΡŒ, прСдставив Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉ ΠΊΠΎΠ΄ для всСх ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² ΠΈΠ· ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ.

Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π² этой ΡΡ‚Π°Ρ‚ΡŒΠ΅:

1. ΠšΡ€Π°Ρ‚ΠΊΠΎΠ΅ описаниС ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Β«ΠŸΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‡ΠΈΡ… интСрфСйсов».

2. Π’ΠΎΡΠ΅ΠΌΡŒ Ρ‚Π΅ΠΊΡƒΡ‡ΠΈΡ… интСрфСйсов, тСория Π΄ΠΈΠ·Π°ΠΉΠ½Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ΠΈ строятся, ΠΈ ΠΊΠΎΠ΄ для ΠΈΡ… создания.

3. ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ для Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ΠΎΠ² ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ².
❀20πŸ‘6πŸ‘2
Channel name was changed to «EasySwift iOS🍏»
Π¨Π°Π±Π»ΠΎΠ½ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€Π° с TabBar ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ΠΎΠΌ

Π¨Π°Π±Π»ΠΎΠ½ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€Π° - это шаблон Π² iOS, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠ°ΠΌΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ ΠΌΠ΅ΠΆΠ΄Ρƒ ViewControllers. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΈ Π±ΠΎΠ»Π΅Π΅ управляСмыми ΠΈ Π±ΠΎΠ»Π΅Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ позволяСт Π½Π°ΠΌ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΡ… ΠΏΠΎ ΠΌΠ΅Ρ€Π΅ нСобходимости.

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ Π°Π²Ρ‚ΠΎΡ€ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ это Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнныС ΠΏΠΎΡ‚ΠΎΠΊΠΈ: ΠΏΠΎΡ‚ΠΎΠΊ Π²Ρ…ΠΎΠ΄Π° ΠΈ основной ΠΏΠΎΡ‚ΠΎΠΊ(ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ TabBar ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€). Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ΠΎΡ€, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ ΠΏΠΎΡ‚ΠΎΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠ΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ViewController. Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄, Π² Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅
❀12πŸ‘1πŸ‘1
Swinject: внСдрСния зависимостСй для Swift

Swinjectβ€” это лСгковСсный Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ внСдрСния зависимостСй для Swift. Π’Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ зависимостСй (Dependency injection, DI) β€” это шаблон проСктирования, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΈΠ½Π²Π΅Ρ€ΡΠΈΡŽ управлСния (IoC) для Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ зависимостСй.

Π’ этом шаблонС Swinject ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° слабо связанныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»Π΅Π³Ρ‡Π΅ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ. Swinject основан Π½Π° систСмС ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² Swift ΠΈ функциях ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ класса, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… просто ΠΈ свободно ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ зависимости вашСго прилоТСния.

Swinject Π½Π° GitHub: https://github.com/Swinject/Swinject
❀11πŸ‘5πŸ€”1😱1
Frame ΠΈ Bounds

Frame - ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ view с использованиСм систСмы ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ прСдставлСния (Π²Π°ΠΆΠ½ΠΎ для размСщСния прСдставлСния Π² superview).
Bounds - мСстополоТСниС ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ view с использованиСм Π΅Π³ΠΎ собствСнной систСмы ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚ (Π²Π°ΠΆΠ½ΠΎ для размСщСния содСрТимого View ΠΈΠ»ΠΈ subview Π²Π½ΡƒΡ‚Ρ€ΠΈ Π½Π΅Π³ΠΎ).
Π”Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Frame - это Ρ€Π°ΠΌΠΊΠ°, Bounds - ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ€Π°ΠΌΠΊΠΈ.


- IntrinsicContentSize (свойство Ρƒ View) - это Ρ€Π°Π·ΠΌΠ΅Ρ€ ΔΈΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ описываСт минимальноС пространство для ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ отобраТСния ΔΈΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°.
- Content hugging prioriti - сопротивлСниС Π½Π° ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅.
- Content compression resistance - сопротивлСниС Π½Π° ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠ΅.
πŸ‘21❀5πŸ”₯3