Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios

На ΠΊΠ°ΠΊΠΎΠΌ языкС ΠΏΠΈΡˆΡƒΡ‚ прилоТСния для iOS

Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π΅Π²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½Π½Ρ‹Π΅ прилоТСния, Π½ΠΎ Π½Π΅ Π·Π½Π°Π΅Ρ‚Π΅, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ языкС? ΠœΡ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ ΡΡ‚Π°Ρ‚ΡŒΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ (спойлСр: Swift).

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ iOS ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ способ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° Java, C++, Python ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… языках β€” просто ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ iOS, ΠΈ ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ β€” ΠΏΠΈΡΠ°Ρ‚ΡŒ Π½Π° Objective-C ΠΈΠ»ΠΈ Swift β€” языках, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π»ΡƒΡ‡ΡˆΠ΅ всСго подходят для создания прилоТСния ΠΏΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы Apple.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Как ΡƒΠΆΠ΅ Π³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для iOS ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:

Π’Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΎΠ΄ΠΈΠ½ ΠΊΠΎΠ΄, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Π΅Π³ΠΎ для Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ. Π’Π°ΠΊΠΎΠΉ способ быстрСС ΠΈ дСшСвлС, Π½ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ прилоТСния Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Ρ…ΡƒΠΆΠ΅, Ρ‡Π΅ΠΌ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅. Π­Ρ‚ΠΎ связано с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ возмоТности Π² Π½ΠΈΡ… Π½Π΅ получится Π±Π΅Π· костылСй.

МоТно, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ всС Ρ€Π°Π²Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ. Π§Π΅ΠΌ большС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ, Ρ‚Π΅ΠΌ Ρ…ΡƒΠΆΠ΅ ΠΎΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π½Π΅ говоря ΡƒΠΆΠ΅ ΠΎ бСсконСчных Π±Π°Π³Π°Ρ… ΠΈ уязвимостях.

Π Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½ΠΎ рСкомСндуСтся, Ссли Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΠ»ΠΈ Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π°. Π’Π°ΠΊΠΆΠ΅ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… прилоТСниях Π² Π±ΠΎΠ»ΡŒΡˆΠΈΡ… компаниях, Π³Π΄Π΅ сотрудники ΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠΌ Ρ€Π°Π·Π½Ρ‹Ρ… устройств.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ кросс-ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ:

Нативная Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° для iOS

НативныС прилоТСния ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Π±Π΅Π· всяких костылСй, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ языки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ подходят для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Π’ случаС с iOS β€” Objective-C ΠΈ Swift.

Objective-C

Π’ 1980 Π³ΠΎΠ΄Ρƒ Брэд Кокс Π² своСй ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ Stepstone создал Objective-C β€” ΠΏΠΎΠ·ΠΆΠ΅ ΠΎΠ½ стал основным языком Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для устройств Apple. Objective-C β€” это ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ-ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования (ООП), основанный Π½Π° C.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° повторяСмости ΠΊΠΎΠ΄Π°. Но дСлаСтся это Π½Π΅ Ρ‚Π°ΠΊ Ρ‚ΠΎΠΏΠΎΡ€Π½ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ структурном ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ объСма ΠΈ слоТности ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ сниТаСт качСство.

ОсновноС ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Objective-C ΠΎΡ‚ C++ (Ρ‚ΠΎΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ООП ΠΈ Ρ‚ΠΎΠΆΠ΅ Π±Ρ‹Π» Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π² Π²ΠΎΡΡŒΠΌΠΈΠ΄Π΅ΡΡΡ‚Ρ‹Ρ… Π³ΠΎΠ΄Π°Ρ…) Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² Π½Π΅ΠΌ интСрпрСтируСтся Π½Π΅ ΠΊΠ°ΠΊ функция, Π° ΠΊΠ°ΠΊ сообщСниС β€” ΠΊΠ°ΠΊ Π² языкС Smalltalk. Π’Π°ΠΊΠΈΠ΅ сообщСния ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ ΡƒΠ³ΠΎΠ΄Π½ΠΎ, Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ ΠΊΡƒΠ΄Π° потрСбуСтся.

Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΡΠ»Π°Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ сообщСния Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ (Π΄Π°ΠΆΠ΅ Ссли ΠΎΠ½ находится Π½Π΅ Π½Π° этом ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅), Ρ‡Ρ‚ΠΎ позволяСт Π΄Π΅Π»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ β€” ΠΏΠΎ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΆΠ΅ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ нСйросСти.

Objective-C β€” ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык. Однако сообщСния ΠΏΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊ функциям ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‡Ρ‚ΠΎ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½Ρ‹Π΅ прилоТСния. Π•Ρ‰Π΅ Π² языкС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹ ΠΈ мСтаинформация.

Бинтаксис здСсь Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ отличаСтся ΠΎΡ‚ синтаксиса C-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… языков. Для сравнСния:

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

iOS-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…: учимся ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ прилоТСния для iOS с нуля

ΠŸΡ€ΠΎΡ„Π΅ΡΡΠΈΡ программиста β€” ΠΎΠ΄Π½Π° ΠΈΠ· самых прСстиТных ΠΈ вострСбованных, это Ρ„Π°ΠΊΡ‚. Π’ отрасли Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния Π΅ΡΡ‚ΡŒ свои ниши. Из Π½ΠΈΡ… самая Π±Ρ‹ΡΡ‚Ρ€ΠΎΡ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰Π°ΡΡΡ, Π° вмСстС с Ρ‚Π΅ΠΌ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ высокооплачиваСмая β€” это Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ПО для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств. Как Ρ‚Π΅Π±Π΅ извСстно, Ρ‚Π°ΠΊ ΡƒΠΆ слоТилось, Ρ‡Ρ‚ΠΎ, оставив ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ΠΎΠ² Π΄Π°Π»Π΅ΠΊΠΎ ΠΏΠΎΠ·Π°Π΄ΠΈ, Π²ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Ρ€Π²Π°Π»ΠΈΡΡŒ Ρ‚Ρ€ΠΈ постоянных сопСрника. Ѐишка Π»Π΅Π³Π»Π° Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ ΠΈΠ· этих Ρ‚Ρ€Π΅Ρ… Π±Π΅Π·ΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΎΡ‡Π½Ρ‹ΠΉ Π»ΠΈΠ΄Π΅Ρ€, ΠΊΡ‚ΠΎ-Ρ‚ΠΎ всСгда догоняСт.

Π’ сСгмСнтС ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ, Π±Π΅Π· сомнСния, Π»ΠΈΠ΄ΠΈΡ€ΡƒΠ΅Ρ‚ Apple со своим смартфоном iPhone. На ΠΏΡ€ΠΎΡˆΠ΅Π΄ΡˆΠ΅ΠΉ Π² сСнтябрС ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ компания ΠΈΠ· ΠšΡƒΠΏΠ΅Ρ€Ρ‚ΠΈΠ½ΠΎ продСмонстрировала ΡƒΠΆΠ΅ 7-ю Π²Π΅Ρ€ΡΠΈΡŽ мобильного дСвайса. ВмСстС с Π½Π΅ΠΉ Apple прСдставила Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ мобильной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы iOS 10. Π’Π΅ΠΏΠ΅Ρ€ΡŒ это самая значимая ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½ΠΊΠ° Π² ΠΌΠΈΡ€Π΅, ΠΊΠ°ΠΊ ΠΈ Π΅Π΅ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΡ†Ρ‹. Из этого слСдуСт, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для iOS β€” самоС Π²Ρ‹Π³ΠΎΠ΄Π½ΠΎΠ΅ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈ срСдств.

«Яблочная» экосистСма

БСгодня ΠΌΡ‹ займСмся Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ простого мобильного прилоТСния для iOS. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π»ΡƒΡ‡ΡˆΠ΅ всСго для этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ€ΠΎΠ΄Π½ΠΎΠΉ Mac. Но Ссли Ρ‚Ρ‹ сторонник Windows ΠΈΠ»ΠΈ Ρƒ тСбя просто Π½Π΅Ρ‚ Мака, ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму macOS ΠΏΠΎΠ΄ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ Π² Windows. На просторах Π‘Π΅Ρ‚ΠΈ Ρ‚Π΅Π±Π΅ Π½Π΅ составит большого Ρ‚Ρ€ΡƒΠ΄Π° Π½Π°ΠΉΡ‚ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π·Π°Ρ‚ΠΎΡ‡Π΅Π½Π½ΡƒΡŽ ΠΏΠΎΠ΄ PC Π²Π΅Ρ€ΡΠΈΡŽ macOS, Π² Π½Π°Ρ€ΠΎΠ΄Π΅ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡƒΡŽ Π₯Π°ΠΊΠΈΠ½Ρ‚ΠΎΡˆ. Π‘ΠΌΠ΅Π»ΠΎ ΡΡ‚Π°Π²ΡŒ Π΅Π΅ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΊΡƒ VMware, VirtualBox β€” Π½Π° Ρ‚Π²ΠΎΠΉ Π²Ρ‹Π±ΠΎΡ€. Π‘Ρ€Π°Π·Ρƒ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΡƒ, Ρ‡Ρ‚ΠΎ Π½Π° PC-ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅ Π½Π΅Ρ‚ части клавиш, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΅ΡΡ‚ΡŒ Π½Π° Mac-ΠΊΠ»Π°Π²Π΅, ΠΈ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΈΡ… сочСтания Π½Π°ΠΆΠ°Ρ‚ΡŒ Π² Π₯Π°ΠΊΠΈΠ½Ρ‚ΠΎΡˆΠ΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π­Ρ‚ΠΎ изрядно ΠΏΠΎΡ€Ρ‚ΠΈΡ‚ настроСниС. Π’ ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠΌ всС описанныС Π½ΠΈΠΆΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π½Π° Π₯Π°ΠΊΠΈΠ½Ρ‚ΠΎΡˆΠ΅.

НСобходимыС знания

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²ΠΎΠΎΠ±Ρ‰Π΅ ΠΈ для iOS Π² частности, Π½Π°Π΄ΠΎ довольно ΠΌΠ½ΠΎΠ³ΠΎ Π·Π½Π°Ρ‚ΡŒ. ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΠΊΠ° ΠΈ Π»ΠΎΠ³ΠΈΠΊΠ°, ΠΌΠΎΠΆΠ΅Ρ‚, ΠΈ Π½Π΅ понадобятся Π²Π½Π°Ρ‡Π°Π»Π΅, Π½ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ вострСбованы ΠΏΠΎΡ‚ΠΎΠΌ. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΈΠ·Π±Π°Π²ΠΈΠ»ΠΈ программиста ΠΎΡ‚ нСобходимости досконально Π·Π½Π°Ρ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π±Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ систСмы счислСния, ΠΈΡ… ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈΠ»ΠΈ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² (большоС O), Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.

На Π±ΠΎΠ»Π΅Π΅ высоком ΡƒΡ€ΠΎΠ²Π½Π΅ iOS-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π½Π°Π΄ΠΎ Π³Π»ΡƒΠ±ΠΎΠΊΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму macOS ΠΈ собствСнно саму iOS. Π’Π°ΠΊΠΆΠ΅ Ρ‚Π΅Π±Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π°Π΄ΠΎ ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ «яблочный» язык программирования. Π—Π½Π°Π½ΠΈΠ΅ Delphi, C++, C# ΠΈΠ»ΠΈ VB.NET Ρ‚Π΅Π±Π΅ Π½Π΅ сильно ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚. Π£ Apple своя экосистСма со своими языками: Objective-C ΠΈ Swift. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π·Π½Π°Π½ΠΈΠ΅ C++ Π΅Ρ‰Π΅ Π½ΠΈΠΊΠΎΠΌΡƒ Π½Π΅ Π½Π°Π²Ρ€Π΅Π΄ΠΈΠ»ΠΎ, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ вставки Π½Π° Π½Π΅ΠΌ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π²Π΅Π·Π΄Π΅, Π΄Π°ΠΆΠ΅ Ρƒ Apple. Но самый ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡŽ Objective-C, просто ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ появился Π³ΠΎΡ€Π°Π·Π΄ΠΎ Ρ€Π°Π½ΡŒΡˆΠ΅ (Π² сСрСдинС Π²ΠΎΡΡŒΠΌΠΈΠ΄Π΅ΡΡΡ‚Ρ‹Ρ… Π³ΠΎΠ΄ΠΎΠ² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ Π²Π΅ΠΊΠ°), Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Swift лишь Π΄Π²Π° Π³ΠΎΠ΄Π° Π½Π°Π·Π°Π΄ (Π² 2014-ΠΌ). Apple Π²ΠΎΠ·Π»Π°Π³Π°Π΅Ρ‚ большиС Π½Π°Π΄Π΅ΠΆΠ΄Ρ‹ Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ язык ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ инвСстируСт Π² Π½Π΅Π³ΠΎ. Для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ старого софта ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Objective-C, Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Π½Π° Swift. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Ρ‚Π΅Π±Π΅ Π½Π΅ΠΏΠ»ΠΎΡ…ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΎΠ±Π°.

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя зря, всС эти языки программирования ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ Ρ‡ΡƒΡ‚ΠΊΠΈΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΌ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° сайтС GeekBrains.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Как Ρ‚Ρ‹ знаСшь, Π³Π»Π°Π²Π½Ρ‹ΠΉ инструмСнт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΏΠΎΠ΄ macOS ΠΈ вмСстС с Π½Π΅ΠΉ iOS β€” срСда программирования Xcode. Она Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ срСдства для создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Mac, iPhone, iPad, Apple TV, Apple Watch. ВсС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Apple. Xcode содСрТит срСдство построСния интСрфСйса (Interface Builder), Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ΄Π°, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ всС соврСмСнныС срСдства Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠ΄ΠΎΠΌ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π΅ выходя ΠΈΠ· Xcode, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅; Ссли ΠΎΠ½ΠΎ разрабатываСтся для внСшнСго устройства, Ρ‚ΠΎ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π² эмуляторС.

Π’ систСму Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ эмуляторы всСх устройств, Π½ΠΎΠ²Ρ‹Π΅ вСрсии ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠΊΠ°Ρ‡Π°Ρ‚ΡŒ. Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Xcode содСрТит графичСскиС инструмСнты для Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ прилоТСния, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ срСдства диагностирования загруТСнности CPU, использования накопитСля (HDD, SDD ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅), Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° графичСский Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ (со стороны OpenGL).

13 сСнтября Π²Ρ‹ΡˆΠ»Π° новая, горячо оТидаСмая вСрсия срСды Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ 8.0. Π‘Ρ‚Π°Π±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ вСрсии ΠΌΠΎΠΆΠ½ΠΎ бСсплатно ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π² App Store. ΠΠ»ΡŒΡ„Ρ‹ ΠΈ Π±Π΅Ρ‚Ρ‹ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎ подпискС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Π’ΠΎΡΡŒΠΌΠ°Ρ вСрсия Π²ΠΎΠ±Ρ€Π°Π»Π° Π² сСбя: Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ языка Swift 3, срСдство изучСния Swift Playground для iPad, Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Interface Builder, которая стала быстрСС Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ позволяСт ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ ΠΌΠ°ΠΊΠ΅Ρ‚ прилоТСния Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ…, Π±Π΅Π· нСобходимости Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° симуляторС само ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅.

Если Ρƒ тСбя старая вСрсия Xcode, Ρ‚ΠΎ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ. Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π΅Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ· App Store:

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios Xcode 8 Π² Mac App Store

Xakep #271. Π‘ΠΈΠ»Π° Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅Ρ… Π±Π°ΠΉΡ‚ΠΎΠ²

На Xcode 8 ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ прилоТСния для macOS Sierra, iOS 10, watchOS 3 ΠΈ tvOS 10. Π˜ΠΌΠ΅ΡŽΡ‚ΡΡ всС SDK. НовыС вСрсии ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½ΠΎΠΊ стали ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΡΠ²Π»ΡΡ‚ΡŒΡΡ Π°ΠΊΠΊΡƒΡ€Π°Ρ‚ послС ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Apple, ΡΠΎΡΡ‚ΠΎΡΠ²ΡˆΠ΅ΠΉΡΡ Π² Π½Π°Ρ‡Π°Π»Π΅ сСнтября.

Π―Π·Ρ‹ΠΊ Objective-C

ΠšΡ€Π°Ρ‚ΠΊΠΎ вспомним основныС свСдСния ΠΎ языкС. Objective-C β€” ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ язык программирования, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для написания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ «яблочныС» систСмы. ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ собой надмноТСство ΠΈΠ»ΠΈ, Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ словами, надстройку Π½Π°Π΄ C, унаслСдовав ΠΎΡ‚ послСднСго синтаксис, Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, способы контроля Π·Π° Ρ…ΠΎΠ΄ΠΎΠΌ выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠ² ΠΊ Π½Π΅ΠΌΡƒ возмоТности ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎ ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ программирования β€” описаниС классов ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

Как Π² C++, Π² Objective-C Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½ΡƒΡŽ Ρ€ΠΎΠ»ΡŒ ΠΈΠ³Ρ€Π°ΡŽΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ связаны Ρ‡Π΅Ρ‚Ρ‹Ρ€Π΅ ΠΏΠ°Ρ€Π°Π΄ΠΈΠ³ΠΌΡ‹: абстракция, инкапсуляция, наслСдованиС, ΠΏΠΎΠ»ΠΈΠΌΠΎΡ€Ρ„ΠΈΠ·ΠΌ. Π―Π·Ρ‹ΠΊ C++ являСтся строго Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Objective-C β€” слабо Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ динамичСской систСмой Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Подобно Smalltalk, Π² Objective-C ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ ΠΏΠΎΡΡ‹Π»Π°ΡŽΡ‚ΡΡ сообщСния. Π­Ρ‚ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ динамичСских языков, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² провСряСтся Π²ΠΎ врСмя исполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π° Π½Π΅ Π²ΠΎ врСмя компиляции.

ОписаниС языка Objective-C Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π΅ ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΌΠΈΡΡ‚Ρ‹ΠΉ Ρ‚ΠΎΠΌΠΈΠΊ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ знания, ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ курс Β«Mobile-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΒ». Π¦Π΅Π»Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» курса посвящСн этому языку.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° прилоТСния для iOS

Π’ качСствС сСмпла ΠΌΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ вСсьма простоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. НС Π±ΡƒΠ΄Π΅ΠΌ ΠΎΡ‚ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΎΡ‚ свящСнной Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΈ, попривСтствуСм ΠΌΠΈΡ€. Однако с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ нас графичСскоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΌΡ‹ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π½ΠΎΠΎΠ±Ρ€Π°Π·ΠΈΠΌ Π΅Π³ΠΎ: Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ, наТимая ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±ΡƒΠ΄Π΅ΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΈΠ»ΠΈ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ надпись Β«Hello, WorldΒ».

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios ΠœΠ°ΡΡ‚Π΅Ρ€ создания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС нас интСрСсуСт ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° iOS. На Π²Ρ‹Π±ΠΎΡ€ прСдставлСно сСмь Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π¨Π΅ΡΡ‚ΡŒ ΠΈΠ· Π½ΠΈΡ… β€” Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы iOS, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ содСрТащиС Ρ€Π°Π·Π½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². БСдьмой Ρ‚ΠΈΠΏ β€” ΠΈΠ³Ρ€Π°.

Π’ΠΈΠΏΡ‹ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°

Π’ качСствС Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ для нашСго прилоТСния Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ Single View Application. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ ΠΌΡ‹ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π½Π°ΠΌ Ρ…Π²Π°Ρ‚ΠΈΡ‚ прСдоставляСмой этой Π·Π°Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΎΠΉ срСдств. НаТимаСм Next. На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ страницС мастСра Π½Π°Π΄ΠΎ ввСсти имя ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ ShowLab. Π’ Π½ΠΈΡΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌ спискС Language оставим Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ язык β€” Objective-C. Π”Π°Π»Π΅Π΅ Π² Π½ΠΈΡΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌ спискС Devices оставим Π²Ρ‹Π±ΠΎΡ€ Universal. Π—Π΄Π΅ΡΡŒ опрСдСляСтся, для ΠΊΠ°ΠΊΠΎΠ³ΠΎ устройства (iPhone ΠΈΠ»ΠΈ iPad) создаСтся ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠŸΡƒΠ½ΠΊΡ‚ Universal ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ для ΠΎΠ±ΠΎΠΈΡ…. Π‘Π½ΠΈΠΌΠ΅ΠΌ Ρ„Π»Π°ΠΆΠΊΠΈ Include Unit Tests ΠΈ Include UI Tests, Π½Π°ΠΌ Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ тСсты Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹. Next. Π’Ρ‹Π±Π΅Ρ€Π΅ΠΌ ΠΏΠ°ΠΏΠΊΡƒ для сохранСния ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΆΠΌΠΈ ΠΊΠ½ΠΎΠΏΠΊΡƒ Create.

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ откроСтся ΠΎΠΊΠ½ΠΎ со списком всСх ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… ΠΊ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Ρƒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Π’ этом ΠΎΠΊΠ½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ установлСнныС Ρ€Π°Π½Π΅Π΅ Π² мастСрС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹: ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ, Ρ†Π΅Π»Π΅Π²ΠΎΠΉ дСвайс ΠΈ ΠΏΡ€ΠΎΡ‡Π΅Π΅.

Π‘Π½Π°Ρ‡Π°Π»Π° Π½Π°ΠΌ Π½Π°Π΄ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ интСрфСйс прилоТСния. Для этого ΠΎΠ΄Π½ΠΈΠΌ ΠΊΠ»ΠΈΠΊΠΎΠΌ Π²Ρ‹Π±Π΅Ρ€ΠΈ Ρ„Π°ΠΉΠ» Main.storyboard Π² спискС слСва (Ссли этот Ρ„Π°ΠΉΠ» Π½Π΅ Π²ΠΈΠ΄Π½ΠΎ, Ρ€Π°Π·Π²Π΅Ρ€Π½ΠΈ содСрТимоС ΠΏΠ°ΠΏΠΊΠΈ ShowLab). ΠŸΡ€Π°Π²Π΅Π΅ списка всС ΠΎΠΊΠ½ΠΎ Π·Π°ΠΉΠΌΠ΅Ρ‚ Interface Builder. Π’ Ρ†Π΅Π½Ρ‚Ρ€Π΅ отобразится ΠΌΠ°ΠΊΠ΅Ρ‚ устройства. Π’ ΠΏΡ€Π°Π²ΠΎΠΌ Π½ΠΈΠΆΠ½Π΅ΠΌ ΡƒΠ³Π»Ρƒ ΠΎΠΊΠ½Π° находится панСль ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ². ΠŸΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈ ΠΎΡ‚Ρ‚ΡƒΠ΄Π° Π½Π° ΠΌΠ°ΠΊΠ΅Ρ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Label ΠΈ Button. Π’Ρ‹ΡˆΠ΅ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² находится список свойств. Если Ρƒ тСбя ΠΎΠ½ отсутствуСт, Π½Π°ΠΆΠΌΠΈ ΠΊΠ½ΠΎΠΏΠΊΡƒ Show the Attributes Inspector, Π½Π°Ρ…ΠΎΠ΄ΡΡ‰ΡƒΡŽΡΡ ΠΏΠΎΠ΄ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ ΠΎΠΊΠ½Π° Π² ΠΏΡ€Π°Π²ΠΎΠΉ части интСрфСйса.

Π’Ρ‹Π΄Π΅Π»ΠΈ Π² ΠΌΠ°ΠΊΠ΅Ρ‚Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Label ΠΈ настрой Π΅Π³ΠΎ свойство Text: Π² Π½ΠΈΡΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌ спискС ΠΎΡΡ‚Π°Π²ΡŒ Π²Ρ‹Π±ΠΎΡ€ Plain, Π² строку Π½ΠΈΠΆΠ΅ Π²Π²Π΅Π΄ΠΈ Π½ΡƒΠΆΠ½ΡƒΡŽ надпись, Π² нашСм случаС Β«Hello, WorldΒ». Если тСкст Π½Π΅ помСщаСтся Π² Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ надписи, ΠΈΠ·ΠΌΠ΅Π½ΠΈ ΠΈΡ…, пСрСтаскивая ΠΌΠ°Ρ€ΠΊΠ΅Ρ€Ρ‹ Π½Π° краях ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°. Π§Ρ‚ΠΎΠ±Ρ‹ Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ, ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈ Π½Π° страницу Size Inspector, Π½Π°ΠΆΠ°Π² Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Show the Size Inspector (справа ΠΎΡ‚ Show the Attributes Inspector). На этой страницС ΠΈΠ· Π½ΠΈΡΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка Arrange Π²Ρ‹Π±Π΅Ρ€ΠΈ ΠΏΡƒΠ½ΠΊΡ‚ Center Horizontally in Container.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹Π±Π΅Ρ€ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Button, ΠΈΠ·ΠΌΠ΅Π½ΠΈ Π΅Π³ΠΎ свойство Text Π½Π° ΠΆΠ΅Π»Π°Π΅ΠΌΡƒΡŽ ΠΌΠ΅Ρ‚ΠΊΡƒ β€” Switch. ΠžΡ‚Ρ†Π΅Π½Ρ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ моТСшь Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ описано Π²Ρ‹ΡˆΠ΅.

Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ связь ΠΌΠ΅ΠΆΠ΄Ρƒ графичСскими элСмСнтами ΠΈ ΠΊΠΎΠ΄ΠΎΠΌ

Π’ Visual Studio (ΠΈΠ»ΠΈ Delphi) ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠΊΠΎΠ΄Π΅ создаСтся автоматичСски Π² Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚, ΠΊΠΎΠ³Π΄Π° кладСшь Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ. Π’ Xcode этого Π½Π΅ происходит, Π½ΠΎ это Π½Π΅ создаСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

ΠžΡ‚ΠΊΡ€ΠΎΠΉ содСрТимоС Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° ViewController.h Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅, Π΄Π²Π°ΠΆΠ΄Ρ‹ Ρ‰Π΅Π»ΠΊΠ½ΡƒΠ² Π½Π° Π½Π΅ΠΌ. Π’ этом Ρ„Π°ΠΉΠ»Π΅ находится объявлСниС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ класса UIViewController, помСчаСтся ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом @interface. Вакая Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π±Ρ‹Π»Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎ Π²Ρ‚ΠΎΡ€ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Objective-C. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈ Ρ‚Π°ΠΊΠΎΠΉ Ρ‚Ρ€ΡŽΠΊ: пСрСмСсти курсор ΠΌΡ‹ΡˆΠΈ Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ β€” Ρ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΡƒΡŽ ΠΌΠ΅Ρ‚ΠΊΡƒ, Π·Π°ΠΆΠΌΠΈ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Ctrl ΠΈ Π»Π΅Π²ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΌΡ‹ΡˆΠΈ. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈ курсор Π² ΠΎΠΊΠ½ΠΎ с ΠΊΠΎΠ΄ΠΎΠΌ (Ρ„Π°ΠΉΠ» ViewController.h), Π·Π° курсором потянСтся синяя линия. ΠžΡ‚ΠΏΡƒΡΡ‚ΠΈ ΠΌΡ‹ΡˆΡŒ ΠΈ ΠΊΠ»Π°Π²ΠΈΡˆΡƒ Π²Π½ΡƒΡ‚Ρ€ΠΈ описания интСрфСйса ViewController.

ΠŸΠΎΡΠ²ΠΈΡ‚ΡΡ ΠΎΠΊΠ½ΠΎ создания Outlet’а.

Π­Ρ‚ΠΎ свойство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ссылаСтся Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚). Π’Π΅Π±Π΅ Π½Π°Π΄ΠΎ ввСсти имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Outlet, ΠΏΠΎ Π½Π΅ΠΌΡƒ Ρ‚Ρ‹ Π±ΡƒΠ΄Π΅ΡˆΡŒ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ, пускай Π±ΡƒΠ΄Π΅Ρ‚ lab. Π”Π°Π»Π΅Π΅ выбираСтся Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΎΠ½ Π²Ρ‹Π±Ρ€Π°Π½ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ: UILabel.

Π•Ρ‰Π΅ Π½ΠΈΠΆΠ΅ Π² спискС Storage выбираСтся Ρ‚ΠΈΠΏ ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚: weak ΠΈΠ»ΠΈ strong. Если Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ strong, Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ свойство, Π±ΡƒΠ΄Π΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° свойство ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Π½Π΅Π³ΠΎ, Π² Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΎΠ½ Π½Π΅ смоТСт автоматичСски ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒΡΡ, ΠΊΠΎΠ³Π΄Π° пСрСстанСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ. Π‘ Π΄Ρ€ΡƒΠ³ΠΎΠΉ стороны, ΠΊΠΎΠ³Π΄Π° дСйствуСт слабая ссылка (weak), ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ°ΠΌΠΎΡƒΠ½ΠΈΡ‡Ρ‚ΠΎΠΆΠΈΡ‚ΡŒΡΡ. Π˜Ρ‚Π°ΠΊ, Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Ρ‚ΠΈΠΏ ссылки weak ΠΈ ΠΆΠΌΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Connect. Π’ ΠΈΡ‚ΠΎΠ³Π΅ Π² ΠΊΠΎΠ΄ добавится такая строка:

УбСТдаСмся, Ρ‡Ρ‚ΠΎ Outlet β€” это свойство.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ создадим Outlet для ΠΊΠ½ΠΎΠΏΠΊΠΈ. Алгоритм остался ΠΏΡ€Π΅ΠΆΠ½ΠΈΠΌ. Волько для свойства Name Π½Π°Π΄ΠΎ ввСсти Π΄Ρ€ΡƒΠ³ΠΎΠ΅ имя, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ but. Π’ ΠΊΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° строка:

Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΈΠΌΠ΅Π΅ΠΌ Π΄Π²Π° указатСля Π½Π° Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹: lab ΠΈ but β€” соотвСтствСнно, надпись ΠΈ ΠΊΠ½ΠΎΠΏΠΊΡƒ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°ΠΌΠΈ Π² ΠΊΠΎΠ΄Π΅.

Π—Π°Ρ‚Π΅ΠΌ Π½Π°Π΄ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ. Для этого Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΎΡ‚ΠΊΡ€ΠΎΠΉ Ρ„Π°ΠΉΠ» Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ViewController.m. Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠ°ΠΊ Ρ‚Ρ‹ пСрСтаскивал линию Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» для создания Π°ΡƒΡ‚Π»Π΅Ρ‚Π°, ΠΎΡ‚ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ΅Ρ€Π΅Ρ‚Π°Ρ‰ΠΈ линию Π² Ρ„Π°ΠΉΠ» Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈ отпусти Π΄ΠΎ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ скобки β€” @end. ΠŸΠΎΡΠ²ΠΈΡ‚ΡΡ ΠΎΠΊΠ½ΠΎ для создания события, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΊΠ½Ρƒ создания Π°ΡƒΡ‚Π»Π΅Ρ‚Π°. Π’ΠΈΠ΄ΠΈΡˆΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ: Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ создаСтся ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π² Ρ„Π°ΠΉΠ»Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ β€” ΠΌΠ΅Ρ‚ΠΎΠ΄.

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° события

Π—Π°ΠΏΠΎΠ»Π½ΠΈ ΠΏΠΎΠ»Π΅ Name, Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ прСдставляСт имя свойства β€” ΠΌΠ΅Ρ‚ΠΎΠ΄Π°. ΠŸΡƒΡΡ‚ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ onClick. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля Type ΠΎΡΡ‚Π°Π²ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ β€” id. Π’ языкС Objective-C Π΄Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ являСтся ΠΏΡ€Π΅Π΄ΠΊΠΎΠΌ для всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ…. Π’ Π½ΠΈΡΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌ спискС Event Π²Ρ‹Π±Ρ€Π°Π½ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ событиС Touch Up Inside, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ происходит Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ отпускания указатСля (ΠΌΡ‹ΡˆΠΈ, ΠΏΠ°Π»ΡŒΡ†Π°. ) Π½Π°Π΄ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π·Π°ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ стадия наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ. Π­Ρ‚ΠΎ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ. Π’ спискС Arguments оставим Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ: Sender β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΠ²ΡˆΠΈΠΉ Π΄Π°Π½Π½Ρ‹ΠΉ сигнал, Π² нашСм случаС ΠΈΠΌ всСгда Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΠ°. Π–ΠΌΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Connect. Π’ ΠΈΡ‚ΠΎΠ³Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:

ΠœΠΈΠ½ΡƒΡ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ (private). ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ словом IBAction ΠΏΠΎΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ события (ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹) Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² ΠΈΠ· Interface Builder.

ΠœΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΌΠΈ скобками напишСм выполняСмый ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊΠΎΠ΄:

Π’ этой строчкС ΠΊΠΎΠ΄Π° ΠΌΡ‹ ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ свойства hidden. Оно ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ BOOL, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ располагаСт двумя значСниями: YES β€” истина ΠΈ NO β€” лоТь (нСсколько Π½Π΅ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎ Windows-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅Ρ€Π°ΠΌ, Π³Π΄Π΅ true ΠΈ false).

ΠžΠ±Ρ€Π°Ρ‚ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° символ подчСркивания, стоящий ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° β€” надписи (_lab). Π‘Π΅Π· Π½Π΅Π³ΠΎ компиляция Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ с ошибкой. Π‘ΠΈΠΌΠ²ΠΎΠ» подчСркивания добавляСтся автоматичСски для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², содСрТащихся Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ…; Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ lab содСрТится Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ ViewController. РаньшС это Π±Ρ‹Π»ΠΎ условноС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ для различия ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½Π½Ρ‹Ρ… Π² качСствС Ρ‡Π»Π΅Π½ΠΎΠ² класса, ΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². А Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ это строгоС ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Π² компиляторС языка.

БСйчас ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° симуляторС. ΠœΡ‹ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ симулятор для iPhone 7, входящий Π² Xcode 8. Кнопка компиляции ΠΈ запуска прСдставляСт собой Ρ‡Π΅Ρ€Π½Ρ‹ΠΉ ΠΏΡ€ΡΠΌΠΎΡƒΠ³ΠΎΠ»ΡŒΠ½ΠΈΠΊ ΠΈ находится Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ Π²Π²Π΅Ρ€Ρ…Ρƒ интСрфСйса.

ПослС компиляции прилоТСния, запуска симулятора ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ нашСго прилоТСния Π½Π° экранС симулятора отобразится Π΅Π³ΠΎ интСрфСйс: надпись Β«Hello, WorldΒ» ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° Switch. Если Π½Π°ΠΆΠ°Ρ‚ΡŒ послСднюю, надпись исчСзнСт, ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ ΠΎΠ½Π° появится вновь.

ΠœΡ‹ сдСлали ΠΎΡ‡Π΅Π½ΡŒ простоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для понимания сути Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ iOS. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ свСдСния ΠΎ создании ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для iOS Π½Π° языкС Objective-C Ρ‚Ρ‹ моТСшь ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΈΠ· курса Π½Π°ΡˆΠΈΡ… Π΄Ρ€ΡƒΠ·Π΅ΠΉ ΠΈΠ· GeekBrains Β«ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΒ». Π’ курсС Π΄Π²Π° мСсяца отдаСтся Π½Π° ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ этого языка. Π’ΠΎ врСмя ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ мСсяца β€” Π²Π²ΠΎΠ΄Π½Ρ‹Π΅ Ρ‚Π΅ΠΌΡ‹, Π° Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ β€” Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ΠΈΠ½Π³ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

Π―Π·Ρ‹ΠΊ Swift

Π’ 2014 Π³ΠΎΠ΄Ρƒ Apple прСдставила Π½ΠΎΠ²Ρ‹ΠΉ язык программирования β€” Swift. Он быстро стал самым обсуТдаСмым ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π½ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌΡΡ языком Π² ΠΌΠΈΡ€Π΅. Π­Ρ‚ΠΎ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ, бСзопасный, ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятный язык для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ систСмы macOS, iOS, tvOS ΠΈ watchOS для всСго ΠΏΠ°Ρ€ΠΊΠ° устройств ΠΎΡ‚ Apple. Swift β€” эффСктивный язык программирования. Π•Π³ΠΎ Π»Π΅Π³Ρ‡Π΅ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ, Ρ‡Π΅ΠΌ Π΅Π³ΠΎ ΠΏΡ€Π΅Π΄ΡˆΠ΅ΡΡ‚Π²Π΅Π½Π½ΠΈΠΊΠ° β€” Objective-C, Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя Swift позаимствовал ΠΈΠ· Π½Π΅Π³ΠΎ самыС ΡƒΠ΄Π°Ρ‡Π½Ρ‹Π΅ ΠΈΠ΄Π΅ΠΈ. ВмСстС с Ρ‚Π΅ΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ сдСлали языки совмСстимыми, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠΎΠ΄ ΠΊΠ°ΠΊ Π½Π° Swift, Ρ‚Π°ΠΊ ΠΈ Π½Π° Objective-C. Π’ ΠΌΠΈΡ€Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Ρ‹ строк ΠΊΠΎΠ΄Π° ΠΈ сотни тысяч унаслСдованных ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, написанныС Π½Π° Objective-C, поэтому ΠΎΡ‚ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ.

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Swift ΡΡ‚Π°Π²ΠΈΠ»Π°ΡΡŒ Ρ†Π΅Π»ΡŒ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ самый ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ язык систСмного программирования β€” быстрый, бСзопасный ΠΈ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ.

Алгоритм Π½Π° языкС Swift Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² 2,6 Ρ€Π°Π·Π° быстрСС, Ρ‡Π΅ΠΌ Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π½Π° Objective-C, ΠΈ Π² 8,4 Ρ€Π°Π·Π° быстрСС, Ρ‡Π΅ΠΌ Π½Π° Python. ИспользованиС Swift Π΄Π΅Π»Π°Π΅Ρ‚ процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠΌ ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ.

Благодаря своСму ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΡŽ, 3 дСкабря 2015 Π³ΠΎΠ΄Π° язык Swift Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ Π² сообщСство ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… исходников. ΠŸΡ€ΠΈ этом Apple строго слСдит Π·Π° Π΅Π³ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ΠΌ, ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π² ΠΊΠΎΠΌΠΈΡ‚Π΅Ρ‚ для Π΅Π³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ Swift доступСн Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² систСмах Apple, Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ Π² Linux. ВсС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с языком, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ, ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ, ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ ΠΏΠ°ΠΊΠ΅Ρ‚, Ρ‚ΠΎΠΆΠ΅ свободныС ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅.

Π—Π° этим языком Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅. Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Π΅ свСдСния ΠΎ Π½Π΅ΠΌ Ρ‚Ρ‹ смоТСшь ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΈΠ· упомянутого курса ΠΎΡ‚ GeekBrains Β«ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΒ», Π² Π½Π΅ΠΌ Ρ†Π΅Π»Ρ‹ΠΉ мСсяц ΠΎΡ‚Π²Π΅Π΄Π΅Π½ Π½Π° ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ языка программирования.

App Store

ΠŸΠΎΠΏΡ€ΠΎΡΡ‚Ρƒ говоря, App Store β€” это ΠΌΠ°Π³Π°Π·ΠΈΠ½ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° для всСго спСктра Apple-дСвайсов. Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΊΡƒΠΏΠΈΡ‚ΡŒ ΠΈΠ³Ρ€Ρ‹ ΠΈ прилоТСния ΠΊΠ°ΠΊ ΠΎΡ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ, Ρ‚Π°ΠΊ ΠΈ ΠΎΡ‚ нСзависимых Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ². ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, Π² ΠΊΠ°ΠΊΠΎΠΉ Π±Ρ‹ странС ΠΎΠ½ Π½ΠΈ ΠΆΠΈΠ», ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠ΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Ρ€Π°ΡΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ бСсплатно свои ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° этой ΠΏΠ»ΠΎΡ‰Π°Π΄ΠΊΠ΅ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ дистрибуции. Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ это Π΄Π΅Π»Π°Ρ‚ΡŒ, Π½Π°Π΄ΠΎ Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈ ΠΊΡƒΠΏΠΈΡ‚ΡŒ Π»ΠΈΡ†Π΅Π½Π·ΠΈΡŽ для ΠΏΡ€ΠΎΠ΄Π°ΠΆΠΈ своих ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ ΠΏΠ»Π°Ρ‚Π° Π·Π° прСдоставляСмый сСрвис ΠΈ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠ΅ ΠΌΠ°Π³Π°Π·ΠΈΠ½Π° App Store.

Π˜Ρ‚ΠΎΠ³ΠΈ

ΠœΡ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ простоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ для мобильной ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы iOS, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ для этого систСму программирования Xcode вмСстС с языком Objective-C. ΠŸΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° симуляторС iPhone 7. ΠœΡ‹ ΡƒΠ·Π½Π°Π»ΠΈ, ΠΊΠ°ΠΊ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Interface Builder, ΠΊΠ°ΠΊ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ графичСскиС элСмСнты с ΠΊΠΎΠ΄ΠΎΠΌ прилоТСния, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий. Познакомились с основами Objective-C. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΡ‹ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ»ΠΈ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° пСрспСктивный язык Swift, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΎΡ‰Π½Ρ‹Ρ… ΠΈ бСзопасных ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для «яблочной» экосистСмы.

Однако ΠΈΠ·ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» β€” это Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡Π°Π»ΠΎ. Π§Ρ‚ΠΎΠ±Ρ‹ интСнсивно ΠΏΡ€ΠΎΠΊΠ°Ρ‡Π°Ρ‚ΡŒΡΡ Π² Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ мобильного ΠΊΠΎΠ΄ΠΈΠ½Π³Π° ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΌΡ‹ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ курс Β«Mobile-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΒ» Π½Π° сайтС Π½Π°ΡˆΠΈΡ… Π΄Ρ€ΡƒΠ·Π΅ΠΉ GeekBrains.

Π­Ρ‚ΠΎ достойный курс: пройдя Π΅Π³ΠΎ, Ρ‚Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎ Π½Π΅ ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΡˆΡŒ врСмя зря. Он начинаСтся с Π΄Π²ΡƒΡ… ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… курсов ΠΏΠΎ языку Java, Π·Π°Ρ‚Π΅ΠΌ слСдуСт ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ программирования ΠΏΠΎΠ΄ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму Android. Π”Π°Π»Π΅Π΅ курс ΠΏΠΎ Π±Π°Π·Π°ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠ±Ρ‰Π΅ΠΌ ΠΈ языку SQL Π² частности. Π—Π°Ρ‚Π΅ΠΌ ΡƒΠ³Π»ΡƒΠ±Π»Π΅Π½Π½Ρ‹ΠΉ курс ΠΏΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для Android. ПослС этого Π²Π΅ΠΊΡ‚ΠΎΡ€ изучСния ΠΏΠ΅Ρ€Π΅ΠΉΠ΄Π΅Ρ‚ Π² сторону Apple-систСм: Π΄Π²Π° ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… курса ΠΏΠΎ языку Objective-C ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ курс ΠΏΠΎ Swift.

Π›Π΅ΠΊΡ†ΠΈΠΈ курса Π²Π΅Π΄ΡƒΡ‚ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΠΈ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ большой ΠΎΠΏΡ‹Ρ‚ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Если Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ нСпонятно, ΠΌΠΎΠΆΠ½ΠΎ, Π½Π΅ откладывая, Π·Π°Π΄Π°Ρ‚ΡŒ вопрос. Π’ΠΎΠΎΠ±Ρ‰Π΅, ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½Π° GeekBrains β€” ΠΆΠΈΠ²ΠΎΠΉ процСсс, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ, Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ вопросы, ΠΏΠΎΠΌΠΎΠ³Π°Ρ‚ΡŒ с ΠΎΡ‚Π²Π΅Ρ‚Π°ΠΌΠΈ. Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π·Π½Π°Π½ΠΈΠΉ ΠΏΡ€Π΅ΠΏΠΎΠ΄Π°Π²Π°Ρ‚Π΅Π»ΠΈ Π²Ρ‹Π΄Π°ΡŽΡ‚ домашнСС Π·Π°Π΄Π°Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°Ρ‚Π΅ΠΌ провСряСтся. ПослС прохоТдСния обучСния тСбя ΠΆΠ΄Π΅Ρ‚ гарантированная стаТировка Π² IT-ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ. А дальшС всС зависит ΠΎΡ‚ тСбя, Ссли Ρ‚Ρ‹ покаТСшь сСбя ΠΊΠ°ΠΊ Π³Ρ€Π°ΠΌΠΎΡ‚Π½Ρ‹ΠΉ спСциалист, тСбя пригласят Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ с ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ GeekBrains

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

🍏 Как Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ iOS-прилоТСния с нуля

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios

Alyona Buyukli

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios

НСмного о сСбС

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ написана ΠΏΠΎ ΠΌΠΎΠ΅ΠΌΡƒ Π»ΠΈΡ‡Π½ΠΎΠΌΡƒ ΠΎΠΏΡ‹Ρ‚Ρƒ. БСйчас я Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽ Ρ„Π°ΠΊΡƒΠ»ΡŒΡ‚Π΅Ρ‚ программирования БСрлинского унивСрситСта ΠΈΠΌ. Π“ΡƒΠΌΠ±ΠΎΠ»ΡŒΠ΄Ρ‚Π° ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ Π² Daimler AG/Mercedes Benz. ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° Π² унивСрситСтС. Π­Ρ‚ΠΎ Π΄Π΅Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Android-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ Π³Ρ€ΡƒΠΏΠΏΠ΅ людСй ΠΎΠ±Ρ‰Π°Ρ‚ΡŒΡΡ Π±Π΅Π· доступа ΠΊ сСти. Π¨Ρ‚ΡƒΠΊΠ° полСзная, особСнно ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π³Π΄Π΅-Ρ‚ΠΎ Π² Π³ΠΎΡ€Π°Ρ… ΠΈΠ»ΠΈ Π² дТунглях 🐡

Однако сам процСсс Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ΄ Android мСня Π½Π΅ Π²ΠΏΠ΅Ρ‡Π°Ρ‚Π»ΠΈΠ», я Ρ€Π΅ΡˆΠΈΠ»Π°, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ – Π½Π΅ ΠΌΠΎΡ‘. К ΡΡ‡Π°ΡΡ‚ΡŒΡŽ, ΠΏΠΎΡ‚ΠΎΠΌ я приняла участиС Π² мСнторском ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΌΠΎΠΈΠΌ унивСрситСтом ΠΈ мСдицинским унивСрситСтом Π¨Π°Ρ€ΠΈΡ‚Π΅. Π’Π°ΠΊ я ΠΎΡ‚ΠΊΡ€Ρ‹Π»Π° для сСбя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для iOS.

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios

Π›Π΅Π³ΠΊΠΎ Π»ΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ для iOS с нуля?

Π‘Π΅Π· английского Π½Π΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ – самая качСствСнная ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ докумСнтация находится Π½Π° сайтС Apple. Π”Π° Π²Ρ‹ ΠΈ сами Π·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊΡƒΡŽ Ρ€ΠΎΠ»ΡŒ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ³Ρ€Π°Π΅Ρ‚ английский.

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ΄ iOS – это Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вСсСло, Π½ΠΎ ΠΈ Π²Ρ‹Π³ΠΎΠ΄Π½ΠΎ. Π’ БША Π·Π° 2019 Π³. срСдняя годовая Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Π° составляла 84 тыс. Π΄ΠΎΠ»Π».

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ iosНа Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Ρ‹ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Apple, IBM ΠΈ Sapient Corporation. Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ iosНа Glassdoor ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π³ΠΎΠ΄ΠΎΠ²ΡƒΡŽ Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Ρƒ Π² 107 тыс. Π΄ΠΎΠ»Π»Π°Ρ€ΠΎΠ²!

Π˜Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π² качСствС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° iOS?

1. Π›Π΅Π³Ρ‡Π΅ всСго Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° macOS

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для iOS ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ осущСствляСтся Π½Π° Macbook/iMac. НС Π½ΡƒΠΆΠ½ΠΎ Π³Π½Π°Ρ‚ΡŒΡΡ Π·Π° самой Π½ΠΎΠ²ΠΎΠΉ модСлью, ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ ΠΈ ΠΏΡ€ΠΎΡΡ‚Π΅Π½ΡŒΠΊΠΈΠΉ Air. Π“Π»Π°Π²Π½ΠΎΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π° устройствС ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ послСднюю Π²Π΅Ρ€ΡΠΈΡŽ macOS. МоТно Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ macOS-машинС, Π½ΠΎ это «больно».

2. УстановитС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ софт для iOS-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

Π Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ iOS-прилоТСния ΠΌΠΎΠΆΠ½ΠΎ ΠΈ Π½Π° Objective-C, Π½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ лСгаси-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Для написания Π½ΠΎΠ²Ρ‹Ρ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ Swift. Π­Ρ‚ΠΎΡ‚ язык сСйчас Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ продвигаСтся самой Apple.

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios

Π’Π°ΠΆΠ½ΠΎ ΡƒΠΌΠ΅Ρ‚ΡŒ Π°Π΄Π°ΠΏΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊ измСнСниям. Π― Π±Ρ‹ Π½Π΅ сказала, Ρ‡Ρ‚ΠΎ каТдая новая Ρ„ΠΈΡ‡Π° – это Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠ΅Π΅. Если Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Xcode, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ. ΠŸΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ Ρ€Π°Π·Π΄Ρ€Π°ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅, ΠΊΠΎΠ³Π΄Π° Π² Π½ΠΈΡ… Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΌΠ΅Π½ΡΡŽΡ‚, ΠΏΠ΅Ρ€Π΅Π΄Π²ΠΈΠ³Π°ΡŽΡ‚, ΡƒΠ΄Π°Π»ΡΡŽΡ‚, ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ Π½Π°Π΄ΠΎ Ρ‚Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ тысячу часов Π½Π° ΠΈΡ… поиск. Π›Π°Π΄Π½ΠΎ, ΠΏΡ€Π΅ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽ (Π½Π΅Ρ‚).

3. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ интСрфСйс

Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios. Π€ΠΎΡ‚ΠΎ Π½Π° Ρ‡Π΅ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄ ios

4. НСтворкинг ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с API

ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ освойтС Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. По ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅, Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΏΠ°Ρ€ΡΠΈΡ‚ΡŒ JSON ΠΈ Π·Π½Π°Ρ‚ΡŒ Π½Π΅Ρ‚Π²ΠΎΡ€ΠΊΠΈΠ½Π³-классы Apple (URLSession) ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, ΡΠ΅Ρ‚Π΅Π²ΡƒΡŽ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Alamofire.

5. ΠΠ°ΡƒΡ‡ΠΈΡ‚Π΅ΡΡŒ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ с Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

Π‘Π°ΠΌΡ‹Π΅ распространСнныС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ iOS – это MongoDB, Firebase ΠΈ Realm.

6. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ вСрсий

ΠžΠ±Ρ‰Π΅Π½ΠΈΠ΅ с ΠΌΠΎΠ΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ осущСствляСтся Π² Git. МоТно ΠΎΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹ контроля вСрсий, Π½ΠΎ ΠΌΠ½Π΅ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ встрСчался Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ½.

7. Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ ΠΏΠΎΡˆΠ°Π³ΠΎΠ²Ρ‹Π΅ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Ρ‹

Мой ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Swift dev курс я ΠΏΡ€ΠΎΡˆΠ»Π° Π½Π° Udemy ( iOS Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Swift 5 ΠΎΡ‚ Angela Yu ). МнС ΠΎΠ½ понравился Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ составлСн для Π½ΠΎΠ²ΠΈΡ‡ΠΊΠΎΠ² ΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ нарастаСт Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ. Π’ΠΎ Π΅ΡΡ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚Π°ΠΊΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΡƒΡ€ΠΎΠΊΠ΅ Π²Ρ‹ установили Xcode, Π° Π½Π° Π²Ρ‚ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠ΄ΠΈΡ‚Π΅ Flappy Bird. Π’ курсС ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… ассСтов, Ρ‡Ρ‚ΠΎ я Π½Π°Ρ…ΠΎΠΆΡƒ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌ плюсом, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡΡ€Π΅Π΄ΠΎΡ‚ΠΎΡ‡ΠΈΡ‚ΡŒΡΡ Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ Π½Π΅ Π»ΠΎΠΌΠ°Ρ‚ΡŒ Π³ΠΎΠ»ΠΎΠ²Ρƒ Π½Π°Π΄ Ρ‚Π΅ΠΌ, ΠΊΡƒΠ΄Π° ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡ‡Π΅Ρ€Π΅Π΄Π½ΠΎΠΉ UI-элСмСнт ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ Ρ†Π²Π΅Ρ‚ ΠΏΡ€ΠΈΠ΄Π°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠ΅.

Если Π²Ρ‹ ΡƒΠΆΠ΅ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅ iOS-прилоТСния ΠΈ ΠΈΡ‰Π΅Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρƒ, Ρ‚ΠΎ ΠΊΠ°Π½Π°Π» iOS-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π¨ΠΎΠ½Π° АллСна ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒΡΡ ΠΊ собСсСдованию. Π¨ΠΎΠ½ рассматриваСт самыС ΠΊΠ°Π²Π΅Ρ€Π·Π½Ρ‹Π΅ вопросы, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Ρ‚ΡƒΡ‚ΠΎΡ€ΠΈΠ°Π»Ρ‹ для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Ρ€Π°Π·Π½Ρ‹Ρ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ. НС ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ…Π²Π°ΡΡ‚Π°Ρ‚ΡŒΡΡ 10-Π»Π΅Ρ‚Π½ΠΈΠΌ ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² Swift, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΡ‚ΠΎΠ»ΡŒΠΊΠΎ Π»Π΅Ρ‚ исполнилось Swift Π² этом Π³ΠΎΠ΄Ρƒ!

8. ΠŸΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠΉΡ‚Π΅ΡΡŒ

МнС Π»Π΅Π³Ρ‡Π΅ ΠΊΠΎΠ΄ΠΈΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° я имСю ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚. Π­Ρ‚ΠΎ гарантия Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ я Π½Π΅ Π·Π°Π±Ρ€ΠΎΡˆΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. ΠšΡ‚ΠΎ Π·Π½Π°Π΅Ρ‚, сколько Ρ‚Π°ΠΊΠΈΡ… ΠΏΠΎΠ»ΡƒΠ½Π°Ρ‡Π°Ρ‚Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² хранится Π² Π·Π°ΠΊΡ€ΠΎΠΌΠ°Ρ… ΠΌΠΎΠ΅Π³ΠΎ ΠΌΠ°ΠΊΠ±ΡƒΠΊΠ° (я знаю, Π½ΠΎ Π½Π΅ скаТу πŸ˜‚ ).

МногиС Ρ€ΡƒΠ³Π°ΡŽΡ‚ фриланс, Π½ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ с Π½Π΅Π³ΠΎ я Π½Π°Ρ‡Π°Π»Π°, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·ΠΎΠ±Ρ€Π°Π»Π°ΡΡŒ с основами Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ подходящий ΠΏΠΎ ΡƒΡ€ΠΎΠ²Π½ΡŽ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ дСйствуйтС.

Π― набросала лишь Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π»ΠΎ ΠΌΠ½Π΅ самой Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ прилоТСния. Π‘ΡƒΠ΄Ρƒ Ρ€Π°Π΄Π°, Ссли Π²Ρ‹ ΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅ΡΡŒ своим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Π² коммСнтариях. πŸ’ƒ

Если интСрСсно, ΠΌΠΎΠ³Ρƒ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎ своСй ΡƒΡ‡Ρ‘Π±Π΅ Π² унивСрситСтС, Π² Ρ‚ΠΎΠΌ числС ΠΎΠ± ΡƒΡ‡Ρ‘Π±Π΅ Π²ΠΎ врСмя COVID-ΠΏΠ°Π½Π΄Π΅ΠΌΠΈΠΈ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *