Swift язык программирования для Ρ‡Π΅Π³ΠΎ

Π―Π·Ρ‹ΠΊ программирования Swift: история, особСнности, пСрспСктивы

Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π€ΠΎΡ‚ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ

Swift появился Π² 2014 Π³ΠΎΠ΄Ρƒ. Π‘ΠΎΠ·Π΄Π°Ρ‚Π΅Π»Π΅ΠΌ языка программирования являСтся компания Apple. Богласно заявлСниям ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… прСдставитСлСй, Π‘Π²ΠΈΡ„Ρ‚ Π±Ρ‹Π» Π·Π°Π»ΠΎΠΆΠ΅Π½ Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ NeXT, которая Π²Ρ‹ΠΏΡƒΡΠΊΠ°Π»Π°ΡΡŒ Π² Π½Π°Ρ‡Π°Π»Π΅ 90-Ρ… Π³ΠΎΠ΄ΠΎΠ² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ столСтия. ИмСнно эта ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΈ стала ΠΏΡ€Π°Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΈΡ†Π΅ΠΉ соврСмСнный iOS ΠΈ macOS.

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ вСрсии языка сотрудники Apple занимались Π΅Ρ‰Π΅ с 2010 Π³ΠΎΠ΄Π°. ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ρ‡Ρ‚ΠΎ этот язык Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ΄Π½ΠΎΠ³ΠΎ «родитСля». ВмСсто этого, создатСли Swift взяли ΠΏΠΎΠ½Π΅ΠΌΠ½ΠΎΠ³Ρƒ ΠΎΡ‚ Ρ€Π°Π·Π½Ρ‹Ρ… языков, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Object-C, Haskell, Python, C#, CLU ΠΈ ряда Π΄Ρ€ΡƒΠ³ΠΈΡ….

ΠŸΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΡ Π‘Π²ΠΈΡ„Ρ‚ ΡΠΎΡΡ‚ΠΎΡΠ»Π°ΡΡŒ Π² 2014 Π³ΠΎΠ΄Ρƒ. Π’ это ΠΆΠ΅ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ стала доступна ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ докумСнтация ΠΏΠΎ языку Π½Π° 500 страницах ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΠΎΠ³ΠΎ тСкста. Π ΠΎΠ²Π½ΠΎ спустя ΠΎΠ΄ΠΈΠ½ Π³ΠΎΠ΄ Π²Ρ‹ΡˆΠ»Π° вторая вСрсия Swift. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΎΠ½Π° стала Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ. Π’ 2019 Π³ΠΎΠ΄Ρƒ Π²Ρ‹ΡˆΠ»Π° послСдняя Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ 5 вСрсия ЯП.

Π‘ ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π‘Π²ΠΈΡ„Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ Π½Π΅ Ρ‚Π°ΠΊ Π΄Π°Π²Π½ΠΎ, Π² Π½Π΅ΠΌ ΡƒΡ‡Ρ‚Π΅Π½Ρ‹ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ минусы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ свойствСнным Π±ΠΎΠ»Π΅Π΅ Π΄Ρ€Π΅Π²Π½ΠΈΠΌ языкам программирования. НапримСр, Swift Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для быстрого старта ΠΈ развития.

ΠŸΡ€ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ этого ЯП ΠΊΠΎΠΌΠ°Π½Π΄Π° прСслСдовала Ρ‚Π°ΠΊΠΈΠ΅ Ρ†Π΅Π»ΠΈ, ΠΊΠ°ΠΊ простота изучСния ΠΈ ускорСниС Ρ†ΠΈΠΊΠ»Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, Π² Π‘Π²ΠΈΡ„Ρ‚ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Objective-C Π±ΠΎΠ»Π΅Π΅ простой ΠΈ Π»Π°ΠΊΠΎΠ½ΠΈΡ‡Π½Ρ‹ΠΉ синтаксис, Ρ‡Ρ‚ΠΎ позволяСт ΡΠΊΠΎΠ½ΠΎΠΌΠΈΡ‚ΡŒ врСмя Π·Π° счСт написания мСньшСго количСства ΠΊΠΎΠ΄Π°.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ваТная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ – Swift ΠΈΠΌΠ΅Π΅Ρ‚ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. Π”Π°ΠΆΠ΅ нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ являСтся языком высокого уровня, Π½Π°Ρ†Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Π½Π° быстроС освоСниС, ΠΎΠ½ достаточно быстр. Богласно мнСнию Π΅Π³ΠΎ создатСлСй, Swift ΠΏΠΎΡ‡Ρ‚ΠΈ Π² Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π° быстрСС Objective-C ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ Π² 8 Ρ€Π°Π· быстрСС, Ρ‡Π΅ΠΌ Python. БСйчас вСдутся Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π°Π΄ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΠ΅Ρ€Π΅Π΄ΠΈΡ‚ΡŒ ΠΏΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ скорости C++.

Помимо скорости, Π‘Π²ΠΈΡ„Ρ‚ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ Π΅Ρ‰Π΅ ΠΎΠ΄Π½ΠΈΠΌ Π²Π°ΠΆΠ½Ρ‹ΠΌ прСимущСством – Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ соврСмСнных Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² для написания Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°.

Π―Π·Ρ‹ΠΊ Swift, ΠΊΠ°ΠΊ ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… ЯП ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ ΠΈ бСсплатСн. ΠŸΡ€ΠΈΡ‡Π΅ΠΌ ΠΎΠ½ ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠΎΠ΄ΠΎΠΌ. НСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π² Ρ†Π΅Π»ΠΎΠΌ, Π² соврСмСнных рСалиях ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ЯП ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΈΠΌΠ΅Π½Π½ΠΎ для Apple это достаточно странно, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ эта компания Π½Π΅ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… шагов. Однако Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π½ΠΎ. Π’ΠΎΠΊΡ€ΡƒΠ³ языка практичСски сразу ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π»ΠΎΡΡŒ большоС ΠΊΠΎΠΌΠΌΡŒΡŽΠ½ΠΈΡ‚ΠΈ, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, исправлСниС Π±Π°Π³ΠΎΠ² ΠΈ вносят ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΠ²Ρ‹.

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ Ρ‡Π΅Ρ€Ρ‚Π° Swift – Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ. Благодаря ΠΌΠ½ΠΎΠ³ΠΈΠΌ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π°ΠΌ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π°ΠΏΠ³Ρ€Π΅ΠΉΠ΄Ρƒ синтаксиса, язык Π‘Π²ΠΈΡ„Ρ‚ стал Π³ΠΎΡ€Π°Π·Π΄ΠΎ бСзопаснСС obj-c. НапримСр, Ρ‡Π΅Ρ€Π΅Π· ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ свСли практичСски Π½Π° Π½Π΅Ρ‚ возмоТности нСсанкционированного доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ. Π’Π°ΠΊΠΆΠ΅, Π·Π° счСт Π±ΠΎΠ»Π΅Π΅ эффСктивной ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сцСнариСв, снизилось количСство критичСских сцСнариСв.

Π’Π°ΠΆΠ½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ – Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. Π£ Π‘Π²ΠΈΡ„Ρ‚ Π΅ΡΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ пСсочница – Playground, которая позволяСт ΠΏΡ€ΠΎΠ΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. Иногда Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ позволяСт достаточно быстро Π½Π°ΠΉΡ‚ΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π² ΠΊΠΎΠ΄Π΅ ΠΈ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ врСмя Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Π“Π΄Π΅ примСняСтся Swift? Как ΡƒΠΆΠ΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π»ΠΎΡΡŒ Π²Ρ‹ΡˆΠ΅, язык создан для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ iOS ΠΈ macOS. Π’ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠ½ Π½Π΅ являСтся ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ. Однако это Π½Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ сфСры примСнСния этого ЯП сильно ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Ρ‹ ΠΈ спрос Π½Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½ΠΈΠ·ΠΊΠΈΠΉ.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Swift ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ любоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π° мобильноС устройство Π½Π° Π±Π°Π·Π΅ iOS. КакоС-Ρ‚ΠΎ врСмя Π½Π°Π·Π°Π΄ Ρ…ΠΎΠ΄ΠΈΠ»ΠΈ слухи, Ρ‡Ρ‚ΠΎ Π½Π° Π‘Π²ΠΈΡ„Ρ‚ планируСтся пСрСнСсти ΠΈ Android. Однако ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ эта информация Π½ΠΈΡ‡Π΅ΠΌ Π½Π΅ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½Π°. Π’Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅, Ρ‡Ρ‚ΠΎ Ρƒ Android Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π΅ΡΡ‚ΡŒ свои языки программирования ΠΈ вряд Π»ΠΈ Ρ‚Π°ΠΊΠΎΠΉ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ пСрСнос способствовал Π±Ρ‹ популяризации ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹.

КакиС ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π‘Π²ΠΈΡ„Ρ‚? Если ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ App.Store ΠΈ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ содСрТимоС, ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ Π½Π΅ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ для Ρ„Π°Π½Ρ‚Π°Π·ΠΈΠΈ. Π—Π΄Π΅ΡΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ всС, ΠΎΡ‚ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠΈΡ… Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ΠΎΠ² для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ Π½Π° Π±Π°Π·Π΅ iOS ΠΈ Π΄ΠΎ ΡΠ»ΠΎΠΆΠ½Π΅ΠΉΡˆΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ.

Π•ΡΡ‚ΡŒ Π»ΠΈ Ρƒ этого языка программирования нСдостатки? Π”Π°, ΠΈ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π½ΠΈΡ… являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ для взаимодСйствия с Objective-C ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ «мост», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΡ‡Π΅Π½ΡŒ сильно Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚ процСсс сборки любого прилоТСния. Π’Π°ΠΊΠΆΠ΅, ΠΊ нСдостаткам этого языка ΠΌΠΎΠΆΠ½ΠΎ отнСсти ΠΈ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ постоянно мСняСтся. Π‘ ΠΎΠ΄Π½ΠΎΠΉ стороны это Ρ…ΠΎΡ€ΠΎΡˆΠΎ, с Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ссли Π±Ρ‹ Apple Π½Π΅ выстроили процСсс ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, старый ΠΊΠΎΠ΄ ΠΌΠΎΠ³ Π±Ρ‹ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

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

Π‘Ρ‚ΠΎΠΈΡ‚ Π»ΠΈ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Swift?

Если Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊΠΎΠΉ язык ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ, совСтуСм ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Swift, ΠΈ Π²ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ.

1. Π§Ρ‚ΠΎ прСдставляСт собой Swift ΠΈ ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΎΠ½ Π±Ρ‹Π» Ρ‚Π°ΠΊ Π½Π°Π·Π²Π°Π½?

Swift – ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΈ ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎ понятный язык программирования для macOS, iOS, watchOS ΠΈ tvOS, Π½ΠΎ отличаСтся ΠΎΡ‚ Objective-C Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌ Π½Π°Π±ΠΎΡ€ΠΎΠΌ возмоТностСй, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ связью с C. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Swift ΠΌΠΎΠΆΠ½ΠΎ Π½Π°Π·Π²Π°Ρ‚ΡŒ бСзопасным, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ язык ΠΈΠΌΠ΅Π΅Ρ‚ ΡΡ‚Ρ€ΠΎΠ³ΡƒΡŽ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ: Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π²Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Π΅Ρ‚Π΅, с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΊΠ°ΠΊΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅. Π“Π»Π°Π²Π½Ρ‹ΠΌ Π΅Π³ΠΎ прСимущСством являСтся ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ: ΠΊΠ°ΠΊ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΈ запускС Π³ΠΎΡ‚ΠΎΠ²ΠΎΠ³ΠΎ прилоТСния. ИмСнно Π·Π° это прСимущСство ΠΏΠ΅Ρ€Π΅Π΄ Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ языками (ΠΏΠΎ завСрСниям создатСлСй, ΠΎΠ½ Π²ΠΎΠ±Ρ€Π°Π» Π² сСбя всё Π»ΡƒΡ‡ΡˆΠ΅Π΅ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… языков программирования) Π΅Π³ΠΎ ΠΈ Π½Π°Π·Π²Π°Π»ΠΈ Swift (Π² ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ β€” быстрый).

2. Π§Ρ‚ΠΎ стоит ΡƒΡ‡ΠΈΡ‚ΡŒ, Objective-C ΠΈΠ»ΠΈ Swift?

Π­Ρ‚ΠΎΡ‚ вопрос ΡˆΠΈΡ€ΠΎΠΊΠΎ обсуТдался с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° появлСния Swift, Π½ΠΎ ΠΊΠ°ΠΊ ΠΈ Ρ‚ΠΎΠ³Π΄Π°, Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π² ΠΏΠΎΠ»ΡŒΠ·Ρƒ Π΅Π³ΠΎ изучСния большС. Π”Π° ΠΈ сама Apple Π½Π΅ Ρ€Π°Π· Π΄Π°Π²Π°Π»Π° ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄ΡƒΡ‰Π΅Π΅ β€” Π·Π° Swift. ΠŸΡ€ΠΈ этом, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ с Objective-C, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π»ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ вСрсиями. По этой ΠΆΠ΅ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ Ρ€Π°Π±ΠΎΡ‚ΠΎΠ΄Π°Ρ‚Π΅Π»ΡŽ относятся ΡΠ΅Ρ€ΡŒΠ΅Π·Π½ΠΎ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ отказываСтся ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ Objective-C, считая, Ρ‡Ρ‚ΠΎ Swift Π΅Ρ‰Ρ‘ достаточно сырой.

3. ΠŸΠΎΡ‡Π΅ΠΌΡƒ Swift быстрСС Π΄Ρ€ΡƒΠ³ΠΈΡ… языков? ΠœΠΎΠΆΠ΅Ρ‚ это Π½Π΅ΠΏΡ€Π°Π²Π΄Π°?

Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π€ΠΎΡ‚ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎApple хвастаСтся Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Swift Π΄ΠΎ 2.6 Ρ€Π°Π· быстрСС, Ρ‡Π΅ΠΌ Objective-C, ΠΈ Π½Π° 8,4 Ρ€Π°Π·Π° быстрСС, Ρ‡Π΅ΠΌ Python 2.7. Π”ΡƒΠΌΠ°Π΅ΠΌ, Ρ‡Ρ‚ΠΎ вопроса ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π½ΡƒΠΆΠ½ΠΎ Π·Π°Π±ΠΎΡ‚ΠΈΡ‚ΡŒΡΡ ΠΎ быстром Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ΄Π° Π½Π΅ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ β€” ΠΈ Ρ‚Π°ΠΊ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ понятно, Ρ‡Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ быстрый ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ эффСктивно ΠΈ ΠΏΠ»Π°Π²Π½ΠΎ, Ρ‡Ρ‚ΠΎ позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΠ΅ ΠΎΡ‚ взаимодСйствия с устройством.

4. Π― ΡΠ»Ρ‹ΡˆΠ°Π», Ρ‡Ρ‚ΠΎ ΡƒΡ‡ΠΈΡ‚ΡŒ Swift ΠΎΡ‡Π΅Π½ΡŒ просто. Π’Π°ΠΊ Π»ΠΈ это?

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

5. Π’ΠΎ Π΅ΡΡ‚ΡŒ я ΠΌΠΎΠ³Ρƒ просто Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΡ‡Ρ‚ΠΈ сразу Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² App Store?

6. Π Π°Π· всё Ρ‚Π°ΠΊ просто, ΠΊΠ°ΠΊ быстро я стану профСссионалом?

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

Π’ΠΎ всяком случаС, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΏΠΎΠΈΠ³Ρ€Π°Π΅Ρ‚Π΅ΡΡŒ со Swift ΠΈ ΠΏΡ€ΠΎΡ‰ΡƒΠΏΠ°Π΅Ρ‚Π΅ Π΅Π³ΠΎ, ΠΏΠΎΠΉΠΌΡ‘Ρ‚Π΅, нравится Π²Π°ΠΌ это ΠΈΠ»ΠΈ Π½Π΅Ρ‚ ΠΈ приступитС ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π°Π΄ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°ΠΌΠΈ, Ρ‚ΠΎΠ³Π΄Π° ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅ΡΡŒ ΡΡ‚Π°Ρ‚ΡŒ профСссионалом. А Π²ΠΎΠΎΠ±Ρ‰Π΅, всё зависит ΠΎΡ‚ вас.

7. А всё-Ρ‚Π°ΠΊΠΈ, Π·Π°Ρ‡Π΅ΠΌ Π±Ρ‹Π»ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ язык, Ссли старый Π±Ρ‹Π» Ρ€Π°Π±ΠΎΡ‡ΠΈΠΌ?

Когда-Ρ‚ΠΎ, Objective-C Π±Ρ‹Π» основным языком программирования Apple для написания ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π΅Ρ‰Ρ‘ со Π²Ρ€Π΅ΠΌΡ‘Π½ OS X. Но Π·Π° это врСмя языки ΠΈ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° программирования сильно измСнились, особСнно Π² области мобильной Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. ВмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ староС, Apple Ρ€Π΅ΡˆΠΈΠ»Π° ΠΏΠΎΠΉΡ‚ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡƒΡ‚Ρ‘ΠΌ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ сам ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅, сдСлав процСсс Π±ΠΎΠ»Π΅Π΅ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ.

8. А ΠΊΠ°ΠΊ ΠΆΠ΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Swift Π΅Ρ‰Ρ‘ Π½Π΅ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚Π°Π½ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°?

Ну, Π½Π΅ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Π² блиТайшиС Π³ΠΎΠ΄Ρ‹ Apple Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Swift, вСдь это Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ Π΅Π³ΠΎ убийство. Π—Π΄Π΅ΡΡŒ, ΠΊΠ°ΠΊ ΠΈ Π² случаС с Π»ΡŽΠ±Ρ‹ΠΌ Π½ΠΎΠ²Ρ‹ΠΌ языком, сущСствуСт Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ошибок. Но всё постоянно обновляСтся, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это Π² интСрСсах самой Apple. ΠšΡΡ‚Π°Ρ‚ΠΈ, Π² Google ΡƒΠΆΠ΅ ΠΏΠΎΠ΄ΡƒΠΌΡ‹Π²Π°ΡŽΡ‚ Π½Π°Π΄ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ запуска Swift-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π½Π° Apple, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ρƒ Π½Π΅Π³ΠΎ всё Π΅Ρ‰Ρ‘ Π²ΠΏΠ΅Ρ€Π΅Π΄ΠΈ.

9. Π― ΠΊΠΎΠ³Π΄Π°-Ρ‚ΠΎ ΠΈΠ·ΡƒΡ‡Π°Π» языки программирования. На Ρ‡Ρ‚ΠΎ ΠΏΠΎΡ…ΠΎΠΆ этот язык?

ВСроятнСС всСго, Π½Π° Ruby ΠΈΠ»ΠΈ Python. Π₯отя здСсь ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ ΠΈ синтаксис ΠΈΠ· C.

10. Π‘Π»Ρ‹ΡˆΠ°Π» Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠ°ΠΎ. МоТно ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅?

Ну Π²ΠΎΡ‚, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π·Π½Π°Π΅Ρ‚Π΅ ΠΊΠΎΠ΅-Ρ‡Ρ‚ΠΎ ΠΎ Swift, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ, стоит Π»ΠΈ Π΅Π³ΠΎ ΠΈΠ·ΡƒΡ‡Π°Ρ‚ΡŒ. Π₯отя наш совСт β€” Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΠ·ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ скорСС, для этого ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ наши ΡΡ‚Π°Ρ‚ΡŒΠΈ:

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

ДокумСнтация

Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π€ΠΎΡ‚ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π€ΠΎΡ‚ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ

Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π€ΠΎΡ‚ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ. Π€ΠΎΡ‚ΠΎ Swift язык программирования для Ρ‡Π΅Π³ΠΎ

ΠžΡΠ½ΠΎΠ²Ρ‹

ΠžΡΠ½ΠΎΠ²Ρ‹

Подобно C, Swift ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ для хранСния ΠΈ обращСния ΠΊ значСниям ΠΏΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ. Swift Ρ‚Π°ΠΊΠΆΠ΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, значСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹. Они извСстны ΠΊΠ°ΠΊ константы, ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π³ΠΎΡ€Π°Π·Π΄ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΌΠΈ, Ρ‡Π΅ΠΌ константы Π² C. ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Swift повсСмСстно, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ бСзопаснСС ΠΈ Ρ‡ΠΈΡ‰Π΅ Π² случаях, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ со значСниями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ.

Π’ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Π·Π½Π°ΠΊΠΎΠΌΡ‹ΠΌ Ρ‚ΠΈΠΏΠ°ΠΌ, Swift Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅Ρ‚ Π² Objective-C. К Π½ΠΈΠΌ относятся ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ нСсколько Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ°ΠΊ ΠΎΠ΄Π½ΠΎ Ρ†Π΅Π»ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Swift Ρ‚Π°ΠΊΠΆΠ΅ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ значСниями. ΠžΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ значСния говорят Π»ΠΈΠ±ΠΎ «здСсь Π΅ΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΈ ΠΎΠ½ΠΎ Ρ€Π°Π²Π½ΠΎ Ρ…Β», Π»ΠΈΠ±ΠΎ «здСсь Π½Π΅Ρ‚ значСния Π²ΠΎΠΎΠ±Ρ‰Π΅Β». ΠžΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ использованию nil с указатСлями Π² Objective-C, Π½ΠΎ ΠΎΠ½ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ со всСми Ρ‚ΠΈΠΏΠ°ΠΌΠΈ, Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с классами. ΠžΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ значСния бСзопаснСС ΠΈ Π²Ρ‹Ρ€Π°Π·ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ Ρ‡Π΅ΠΌ nil ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π² Objective-C, ΠΈ находятся Π² сСрдцС ΠΌΠ½ΠΎΠ³ΠΈΡ… Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹Ρ… особСнностСй Swift.

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅

ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ имя (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, maximumNumberOfLoginAttempts ΠΈΠ»ΠΈ welcomeMessage ) со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, число 10 ΠΈΠ»ΠΈ строка «Hello» ). Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ константы Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ послС Π΅Π³ΠΎ установки, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ установлСно Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

ОбъявлСниС констант ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Π­Ρ‚ΠΎΡ‚ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΡ‡Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊ:

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ максимальноС количСство доступных ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ Π²Ρ…ΠΎΠ΄Π° объявлСно ΠΊΠ°ΠΊ константа, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ мСняСтся. Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ количСства ΠΏΠΎΠΏΡ‹Ρ‚ΠΎΠΊ Π²Ρ…ΠΎΠ΄Π° объявлСн ΠΊΠ°ΠΊ пСрСмСнная, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ послС ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΉ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ Π²Ρ…ΠΎΠ΄Π°.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ нСсколько констант ΠΈΠ»ΠΈ нСсколько ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π½Π° ΠΎΠ΄Π½ΠΎΠΉ строкС, раздСляя ΠΈΡ… запятыми:

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ°

Аннотация Ρ‚ΠΈΠΏΠΎΠ²

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

Π”Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ Π² объявлСнии Π·Π½Π°Ρ‡ΠΈΡ‚ «. Ρ‚ΠΈΠΏΠ°. «, поэтому ΠΊΠΎΠ΄ Π²Ρ‹ΡˆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½ ΠΊΠ°ΠΊ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ welcomeMessage ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ любоС тСкстовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ… Π»ΠΈΠ±ΠΎ ошибок:

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ нСсколько ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Π² ΠΎΠ΄Π½ΠΎΠΉ строкС, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ запятыми, с ΠΎΠ΄Π½ΠΎΠΉ Π°Π½Π½ΠΎΡ‚Π°Ρ†ΠΈΠ΅ΠΉ Ρ‚ΠΈΠΏΠ° послС послСднСго ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ:

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ°

Π Π΅Π΄ΠΊΠΎ ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ понадобится ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅. Когда Π²Ρ‹ Π΄Π°Π΅Ρ‚Π΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ константС ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ объявлСния, Swift всСгда ΠΌΠΎΠΆΠ΅Ρ‚ вывСсти Ρ‚ΠΈΠΏ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² константС ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. Π­Ρ‚ΠΎ описано Π² Бтрогая типизация ΠΈ Π’Ρ‹Π²ΠΎΠ΄ Ρ‚ΠΈΠΏΠΎΠ². Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ welcomeMessage Π²Ρ‹ΡˆΠ΅, Π½Π΅ Π±Ρ‹Π»ΠΎ присвоСния Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ welcomeMessage указываСтся с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ обозначСния Ρ‚ΠΈΠΏΠ° вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ вывСсти ΠΈΠ· Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния.

НазваниС констант ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΡ‡Ρ‚ΠΈ Π»ΡŽΠ±Ρ‹Π΅ символы для Π½Π°Π·Π²Π°Π½ΠΈΠΉ констант ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Unicode-символы:

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ°

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ константу ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΈ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ слово Swift, Ρ‚ΠΎ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΌΠΈ ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°ΠΌΠΈ (`) написанными Π²ΠΎΠΊΡ€ΡƒΠ³ этого слова. Однако ΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… с ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌΠΈ словами Swift ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚Π°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Ρƒ вас Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Π½Π΅Ρ‚ Π²Ρ‹Π±ΠΎΡ€Π°.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ совмСстимого Ρ‚ΠΈΠΏΠ°. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½ΠΈΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ friendlyWelcome ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ с β€œHello!” Π½Π° β€œBonjour!” :

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ константы Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ, послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±Ρ‹Π»ΠΎ установлСно. Если Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½Π° ошибка компиляции:

ΠŸΠ΅Ρ‡Π°Ρ‚ΡŒ констант ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ константы ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ print(_:separator:terminator:) :

Swift ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΠΎΠ»ΡΡ†ΠΈΡŽ строки для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΈΠΌΠ΅Π½ΠΈ константы ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² качСствС плСйсхолдСра Π²Π½ΡƒΡ‚Ρ€ΠΈ строки, Ρ‡Ρ‚ΠΎ подсказываСт Swift ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡ‚ΡŒ это имя Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ хранится Π² этой константС ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠŸΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚Π΅ имя константы ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π² ΠΊΡ€ΡƒΠ³Π»Ρ‹Π΅ скобки, Π° Π·Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ слСш ( \ ) ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ скобкой:

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ°

ВсС ΠΎΠΏΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² интСрполяции строки Π²Ρ‹ смоТСтС Π½Π°ΠΉΡ‚ΠΈ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «Π˜Π½Ρ‚Срполяция строк».

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ нСисполняСмый тСкст Π² ΠΊΠΎΠ΄Π΅, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ самому сСбС. ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΡŽΡ‚ΡΡ компилятором Swift Π²ΠΎ врСмя компиляции ΠΊΠΎΠ΄Π°.

ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π² Swift ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π² C. ΠžΠ΄Π½ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ с Π΄Π²ΡƒΡ… слСшСй ( // ):

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ многострочныС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ΡΡ со слСша ΠΈ Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠΈ ( /* ) ΠΈ Π·Π°ΠΊΠ°Π½Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠΎΠΉ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ слСдуСт слСш ( */ ):

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ многострочных ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² Π² C, многострочныС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ Π² Swift ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Ρ‹ Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ многострочныС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Π½Π°Ρ‡Π°Π² многострочный Π±Π»ΠΎΠΊ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π², Π° Π·Π°Ρ‚Π΅ΠΌ, Π½Π°Ρ‡Π°Ρ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠΉ многострочный ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°. Π—Π°Ρ‚Π΅ΠΌ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π±Π»ΠΎΠΊ закрываСтся, Π° Π·Π° Π½ΠΈΠΌ закрываСтся ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π±Π»ΠΎΠΊ:

Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ многострочныС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π·Π°ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ большиС Π±Π»ΠΎΠΊΠΈ ΠΊΠΎΠ΄Π° быстро ΠΈ Π»Π΅Π³ΠΊΠΎ, Π΄Π°ΠΆΠ΅ Ссли ΠΊΠΎΠ΄ ΡƒΠΆΠ΅ содСрТит многострочныС ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ.

Π’ΠΎΡ‡ΠΊΠΈ с запятой

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΡ… Π΄Ρ€ΡƒΠ³ΠΈΡ… языков, Swift Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚ΠΎΡ‡ΠΊΡƒ с запятой ( ; ) послС ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ выраТСния Π² ΠΊΠΎΠ΄Π΅, хотя Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ это, Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅. Однако Ρ‚ΠΎΡ‡ΠΊΠΈ с запятой Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ нСсколько ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π½Π° ΠΎΠ΄Π½ΠΎΠΉ строкС:

Π¦Π΅Π»Ρ‹Π΅ числа

Π“Ρ€Π°Π½ΠΈΡ†Ρ‹ Ρ†Π΅Π»Ρ‹Ρ… чисСл

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΈ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° Ρ†Π΅Π»ΠΎΠ³ΠΎ числа с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π΅Π³ΠΎ свойств min ΠΈ max :

Π’ΠΈΠΏ значСния этих свойств соотвСтствуСт Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ числа (Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅ этот Ρ‚ΠΈΠΏ UInt8 ) ΠΈ поэтому ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован Π² выраТСниях наряду с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ значСниями Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ‚ΠΈΠΏΠ°.

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ°

Числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ°

Double ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 15 дСсятичных Ρ†ΠΈΡ„Ρ€, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ Float ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ всСго лишь 6 дСсятичных Ρ†ΠΈΡ„Ρ€. Π‘ΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ‚ΠΈΠΏ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² зависимости ΠΎΡ‚ Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π° ΠΈ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, c ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ΄Π΅. Π’ случаях, Π³Π΄Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ использованиС ΠΎΠ±ΠΎΠΈΡ… Ρ‚ΠΈΠΏΠΎΠ², ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ считаСтся Double.

Бтрогая типизация ΠΈ Π’Ρ‹Π²ΠΎΠ΄ Ρ‚ΠΈΠΏΠΎΠ²

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Swift ΠΈΠΌΠ΅Π΅Ρ‚ ΡΡ‚Ρ€ΠΎΠ³ΡƒΡŽ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ, ΠΎΠ½ выполняСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Ρ‚ΠΈΠΏΠΎΠ² ΠΏΡ€ΠΈ компиляции ΠΊΠΎΠ΄Π° ΠΈ ΠΎΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ Π»ΡŽΠ±Ρ‹Π΅ Π½Π΅ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ ΠΊΠ°ΠΊ ошибки. Π­Ρ‚ΠΎ позволяСт Π² процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π»ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π½ΡŒΡˆΠ΅ ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ошибки.

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

Благодаря Π²Ρ‹Π²ΠΎΠ΄Ρƒ Ρ‚ΠΈΠΏΠΎΠ², Swift Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ мСньшС объявлСния Ρ‚ΠΈΠΏΠΎΠ², Ρ‡Π΅ΠΌ языки, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ C ΠΈΠ»ΠΈ Objective-C. ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Π°ΠΌ ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ всС ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ, Π½ΠΎ большая Ρ‡Π°ΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Ρ‚ΠΈΠΏΠΎΠ² Π±ΡƒΠ΄Π΅Ρ‚ сдСлана Π·Π° вас.

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, Ссли Π²Ρ‹ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π»ΠΈ Ρ‚ΠΈΠΏ для Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π° с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, Swift Π΄Π΅Π»Π°Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Double :

Swift всСгда Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Double (вмСсто Float ), ΠΊΠΎΠ³Π΄Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Ρ‚ΠΈΠΏ чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ.

Если ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Ρ†Π΅Π»Ρ‹Π΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΠΈ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π² ΠΎΠ΄Π½ΠΎΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ, Π² этом случаС Ρ‚ΠΈΠΏ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ Double :

Π›ΠΈΡ‚Π΅Ρ€Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 3 Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ явного Ρ‚ΠΈΠΏΠ° само ΠΏΠΎ сСбС, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ‚ΠΈΠΏ Double выводится ΠΈΠ· наличия Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π° с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ слоТСния.

ЧисловыС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹

ЧисловыС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ написаны ΠΊΠ°ΠΊ:

ВсС эти Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ Ρ†Π΅Π»ΠΎΠ³ΠΎ числа ΠΈΠΌΠ΅ΡŽΡ‚ дСсятичноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 17 :

Π›ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ дСсятичными (Π±Π΅Π· прСфикса) ΠΈΠ»ΠΈ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹ΠΌΠΈ (с прСфиксом 0x ). Они всСгда Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ число (дСсятичноС ΠΈΠ»ΠΈ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠ΅) ΠΏΠΎ ΠΎΠ±Π΅ стороны ΠΎΡ‚ Π΄Ρ€ΠΎΠ±Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΈ. Они Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ экспонСнту, с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΠΈΠ»ΠΈ Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС Π΅ для дСсятичных чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ, ΠΈΠ»ΠΈ Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ ΠΈΠ»ΠΈ Π½ΠΈΠΆΠ½Π΅ΠΌ рСгистрС Ρ€ для ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½Ρ‹Ρ… чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ.

ВсС эти числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΈΠΌΠ΅ΡŽΡ‚ дСсятичноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ 12.1875 :

ЧисловыС Π»ΠΈΡ‚Π΅Ρ€Π°Π»Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… Π±Ρ‹Π»ΠΎ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ. Π¦Π΅Π»Ρ‹Π΅ числа ΠΈ числа с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Ρ‹ нулями ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ символы подчСркивания для увСличСния Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Ни ΠΎΠ΄ΠΈΠ½ Ρ‚ΠΈΠΏ форматирования Π½Π΅ влияСт Π½Π° Π±Π°Π·ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°:

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ числовых Ρ‚ΠΈΠΏΠΎΠ²

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Int для всСх цСлочислСнных констант ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΠ΄Π΅, Π΄Π°ΠΆΠ΅ ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ Π½Π΅ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹. ИспользованиС стандартного Ρ‚ΠΈΠΏΠ° Ρ†Π΅Π»Ρ‹Ρ… чисСл Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ваши цСлочислСнныС константы ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ совмСстимы Π² ΠΊΠΎΠ΄Π΅ ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏΡƒ, Π²Ρ‹Π²Π΅Π΄Π΅Π½Π½ΠΎΠΌΡƒ ΠΈΠ· цСлочислСнного Π»ΠΈΡ‚Π΅Ρ€Π°Π»Π°.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Ρ†Π΅Π»Ρ‹Ρ… чисСл, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π²Π°ΠΌ это Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅ с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ ΠΈΠ· внСшнСго источника, ΠΈΠ»ΠΈ для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, использования памяти ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΉ. ИспользованиС Ρ‚ΠΈΠΏΠΎΠ² с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠΌ Π² Ρ‚Π°ΠΊΠΈΡ… ситуациях ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡƒΠ»ΠΎΠ²ΠΈΡ‚ΡŒ случайноС ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ значСния ΠΈ нСявно Π·Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² ΠΊΠΎΠ΄Π΅.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ Ρ†Π΅Π»Ρ‹Ρ… чисСл

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

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡ Ρ†Π΅Π»Ρ‹Ρ… чисСл ΠΈ чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ†Π΅Π»Ρ‹ΠΌΠΈ числами ΠΈ числами с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ явно:

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ°

ΠŸΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ‹ Ρ‚ΠΈΠΏΠΎΠ²

ΠŸΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ‹ Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠΎΠ»Π΅Π·Π½Ρ‹, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌΡƒ Ρ‚ΠΈΠΏΡƒ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ большС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ контСксту, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈΠ· внСшнСго источника:

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ‹ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π·Π°Π΄Π°Π»ΠΈ псСвдоним Ρ‚ΠΈΠΏΠ°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ псСвдоним Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ Π²Ρ‹ Ρ…ΠΎΡ‚Π΅Π»ΠΈ Π±Ρ‹ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ

ЛогичСскиС Ρ‚ΠΈΠΏΡ‹

ЛогичСскиС значСния ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с условными ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ if :

УсловныС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ if Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² Π³Π»Π°Π²Π΅ Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ.

Бтрогая типизация Swift прСпятствуСт Π·Π°ΠΌΠ΅Π½Π΅ значСния Bool Π½Π° Π½Π΅ логичСскоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ компиляции:

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ:

Как Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… строгой Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΠΈ Π² Swift, этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ случайныС ошибки ΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ замысСл ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ части ΠΊΠΎΠ΄Π° понятСн.

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ

ΠšΠΎΡ€Ρ‚Π΅ΠΆΠΈ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽΡ‚ нСсколько Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΎΠ΄Π½ΠΎ составноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ЗначСния Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ любого Ρ‚ΠΈΠΏΠ°, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, Π½Π΅Ρ‚ нСобходимости, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ‚ΠΈΠΏΠ°.

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ (404, «Not Found») это ΠΊΠΎΡ€Ρ‚Π΅ΠΆ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ описываСт ΠΊΠΎΠ΄ HTTP статуса. Код HTTP статуса β€” особоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π²Π΅Π±-сСрвСром ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π·, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚Π΅ Π²Π΅Π±-страницу. Код статуса 404 Not Found возвращаСтся, ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚Π΅ страницу, которая Π½Π΅ сущСствуСт.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ статуса, ΠΊΠΎΡ€Ρ‚Π΅ΠΆ (404, «Not Found») Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΠ΅Ρ‚ вмСстС Π΄Π²Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… значСния Int ΠΈ String : число ΠΈ понятноС Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΡƒ описаниС. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ описано ΠΊΠ°ΠΊ «ΠΊΠΎΡ€Ρ‚Π΅ΠΆ Ρ‚ΠΈΠΏΠ° (Int, String) «.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Ρ€Π°Π·Π»ΠΎΠΆΠΈΡ‚ΡŒ содСрТимоС ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ константы ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½Ρ‹ΠΌ способом:

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ части ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π²ΠΎ врСмя разлоТСния с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ символа подчСркивания ( _ ):

Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ доступ ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ частям ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ числовыС индСксы, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ΡΡ с нуля:

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ элСмСнтам ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ° Π²ΠΎ врСмя объявлСния:

Когда Π²Ρ‹ присвоили имя элСмСнту ΠΊΠΎΡ€Ρ‚Π΅ΠΆΠ°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π½Π΅ΠΌΡƒ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ:

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ°

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

ΠžΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ (ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»Ρ‹)

ΠžΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ. ΠžΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°: ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΅ΡΡ‚ΡŒ, ΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ ΠΈΠ· ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»Π°, Π»ΠΈΠ±ΠΎ Π΅Π³ΠΎ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅Ρ‚.

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ°

Π’ C ΠΈΠ»ΠΈ Objective-C Π½Π΅Ρ‚ понятия ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠ². Π‘Π»ΠΈΠΆΠ°ΠΉΡˆΠ΅Π΅ понятиС Π² Objective-C это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ nil ΠΈΠ· ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²Π΅Ρ€Π½ΡƒΠ» Π±Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π’ этом случаС nil ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ «отсутствиС допустимого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Β». Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², ΠΈ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для структур, простых Ρ‚ΠΈΠΏΠΎΠ² C, ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ пСрСчислСния. Для этих Ρ‚ΠΈΠΏΠΎΠ², ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Objective-C, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, NSNotFound ), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ отсутствиС значСния. Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹Π·Π²Π°Π» ΠΌΠ΅Ρ‚ΠΎΠ΄, Π·Π½Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ это ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ. ΠžΠΏΡ†ΠΈΠΎΠ½Π°Π»Ρ‹ Swift ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ отсутствиС значСния для Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ любого Ρ‚ΠΈΠΏΠ°, Π±Π΅Π· нСобходимости использования ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… констант.

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ Int() для ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ String Π² Int :

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π² состояниС отсутствия значСния, ΠΏΡƒΡ‚Π΅ΠΌ присвоСния Π΅ΠΌΡƒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ значСния nil

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ°

nil Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован с Π½Π΅ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ константами ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ. Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ константы ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… условиях Π² ΠΊΠΎΠ΄Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ, всСгда ΠΎΠ±ΡŠΡΠ²Π»ΡΠΉΡ‚Π΅ ΠΈΡ… ΠΊΠ°ΠΊ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ‚ΠΈΠΏΠ°.

Если ΠΎΠ±ΡŠΡΠ²ΠΈΡ‚ΡŒ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π±Π΅Π· присвоСния значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ‚ΠΎ пСрСмСнная автоматичСски установится Π² nil для вас:

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ°

nil Π² Swift Π½Π΅ Ρ‚ΠΎ ΠΆΠ΅ самоС Ρ‡Ρ‚ΠΎ nil Π² Objective-C. Π’ Objective-C nil являСтся ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π° Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π’ Swift nil Π½Π΅ являСтся ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΌ, Π° являСтся отсутствиСм значСния ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. Π£ΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Π² nil ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»Ρ‹ любого Ρ‚ΠΈΠΏΠ°, Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΈΠΏΡ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Π˜Π½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡ If ΠΈ ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅

Если ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π» ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°ΡΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠ°ΠΊ Β«Π½Π΅Ρ€Π°Π²Π½Ρ‹ΠΌΒ» nil :

Π‘ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± инструкции if ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π² Π³Π»Π°Π²Π΅ Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠΌ.

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ°

ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠ²

ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΡƒ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠ² для инструкции if ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ possibleNumber свСрху, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ привязку ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠ², Π° Π½Π΅ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅:

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½ΠΎ ΠΊΠ°ΠΊ:

«Если ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ Int Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹ΠΉ Int(possibleNumber) содСрТит Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, установи Π² Π½ΠΎΠ²ΡƒΡŽ константу с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ actualNumber Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, содСрТащССся Π² ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»Π΅.Β»

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ°

НСявно ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»Ρ‹

Иногда, сразу понятно ΠΈΠ· структуры ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π» всСгда Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, послС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²ΠΏΠ΅Ρ€Π²Ρ‹Π΅ Π±Ρ‹Π»ΠΎ установлСно. Π’ этих случаях, ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΈ извлСчСния значСния ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π½Π΅ΠΌΡƒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ с ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ постоянно ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

Π­Ρ‚ΠΈ Π²ΠΈΠ΄Ρ‹ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠ² Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ нСявно ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»Ρ‹. Π˜Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π²ΠΎΡΠΊΠ»ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π·Π½Π°ΠΊ ( String! ), вмСсто Π²ΠΎΠΏΡ€ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π½Π°ΠΊΠ° ( String? ), послС Ρ‚ΠΈΠΏΠ°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ.

НСявно ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»Ρ‹ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹, ΠΊΠΎΠ³Π΄Π° извСстно, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»Π° сущСствуСт нСпосрСдствСнно послС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ объявлСния ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»Π°, ΠΈ Ρ‚ΠΎΡ‡Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ послС этого. НСявно ΠΈΠ·Π²Π»Π΅Ρ‡Ρ‘Π½Π½Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»Ρ‹ Π² основном ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π²ΠΎ врСмя ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ класса, ΠΊΠ°ΠΊ описано Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ «Π‘СсхозныС ссылки ΠΈ нСявно ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ свойства».

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π΅ являСтся Π»ΠΈ нСявно ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹ΠΉ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π» nil Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅ ΠΊΠ°ΠΊ Π²Ρ‹ провСряСтС ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»:

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ нСявно ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½Π½Ρ‹ΠΉ ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π» с привязкой ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΠΎΠ², Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΈ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Π΅Π³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΎΠ΄Π½ΠΎΠΌ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ:

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ°

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок

Π’Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ошибок Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° появлСниС условий возникновСния ошибок Π²ΠΎ врСмя выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

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

Когда функция ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚ условиС ошибки, ΠΎΠ½Π° Π²Ρ‹Π΄Π°Π΅Ρ‚ сообщСниС ΠΎΠ± ошибкС. Π’ΠΎΡ‚, ΠΊΡ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠΉΠΌΠ°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈ ΡΡ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использована Π² ΠΎΡ‚Π²Π΅Ρ‚ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ условия возникновСния ошибок:

ГСнСрация, Π²Ρ‹Π»Π°Π²Π»ΠΈΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ошибок рассмотрСны Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Π² Π³Π»Π°Π²Π΅ ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок.

УтвСрТдСния ΠΈ прСдусловия

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

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

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

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

ΠžΡ‚Π»Π°Π΄ΠΊΠ° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ утвСрТдСния ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ ΠΏΠΎ ТСланию, ΠΊΠ°ΠΊ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅:

Если ΠΊΠΎΠ΄ ΡƒΠΆΠ΅ провСряСт условиС, Ρ‚ΠΎ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ assertionFailure(_:file:line:) для ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΎΡΡŒ. НапримСр:

ΠžΠ±Π΅ΡΠΏΠ΅Ρ‡Π΅Π½ΠΈΠ΅ прСдусловиями

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠ°

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ fatalError (_:file:line:) Π²ΠΎ врСмя прототипирования ΠΈΠ»ΠΈ Ρ€Π°Π½Π½Π΅ΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ для создания Π·Π°Π³Π»ΡƒΡˆΠ΅ΠΊ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ, которая Π΅Ρ‰Π΅ Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π°, написав fatalError («Unimplemented») Π² качСствС Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π³Π»ΡƒΡˆΠΊΠΈ. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ„Π°Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ошибки Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ, Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ прСдусловий, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹, Ρ‡Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° всСгда прСкратится, Ссли ΠΎΠ½ΠΎ встрСчаСт Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π·Π°Π³Π»ΡƒΡˆΠΊΠΈ.

Если Π²Ρ‹ нашли ΠΎΡˆΠΈΠ±ΠΊΡƒ, поТалуйста, Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚Π΅ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚ тСкста ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Ctrl+Enter.

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

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

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