HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Иногда на собеседованиях на позицию iOS-разработчика соискателей спрашивают о том, что такое<strong>optional</strong>, какие существуют способы развернуть<strong>optional</strong>, и что называют неявно развернутым<strong>optional</strong>? Об этом - наша статья.</p>
1 <p>Иногда на собеседованиях на позицию iOS-разработчика соискателей спрашивают о том, что такое<strong>optional</strong>, какие существуют способы развернуть<strong>optional</strong>, и что называют неявно развернутым<strong>optional</strong>? Об этом - наша статья.</p>
2 <p>Тип<strong>optional</strong>в Swift представляет собой<strong>enum</strong>, который способен иметь одно из 2-х значений: либо<strong>None</strong>, либо<strong>Some(T)</strong>, причем<strong>T</strong>здесь - это любой тип данных. С помощью такого типа разработчик может обезопасить себя от попытки доступа к nil-значению.</p>
2 <p>Тип<strong>optional</strong>в Swift представляет собой<strong>enum</strong>, который способен иметь одно из 2-х значений: либо<strong>None</strong>, либо<strong>Some(T)</strong>, причем<strong>T</strong>здесь - это любой тип данных. С помощью такого типа разработчик может обезопасить себя от попытки доступа к nil-значению.</p>
3 <h3>Развернуть optional можно несколькими способами:</h3>
3 <h3>Развернуть optional можно несколькими способами:</h3>
4 <p>Способ № 1 -<strong>проверка на nil</strong>:</p>
4 <p>Способ № 1 -<strong>проверка на nil</strong>:</p>
5 <p>Способ № 2 -<strong>Guard let</strong>:</p>
5 <p>Способ № 2 -<strong>Guard let</strong>:</p>
6 <p>Способ № 3 -<strong>If let</strong>:</p>
6 <p>Способ № 3 -<strong>If let</strong>:</p>
7 <p>Способ № 4 -<strong>Force unwrapping</strong>. Способ является небезопасным, ведь если значение будет равно nil, программа завершится:</p>
7 <p>Способ № 4 -<strong>Force unwrapping</strong>. Способ является небезопасным, ведь если значение будет равно nil, программа завершится:</p>
8 <p>Способ № 5 -<strong>Nil coalescing</strong>:</p>
8 <p>Способ № 5 -<strong>Nil coalescing</strong>:</p>
9 <p>Способ № 6 -<strong>Optional chaining</strong>:</p>
9 <p>Способ № 6 -<strong>Optional chaining</strong>:</p>
10 <h2>Что-нибудь еще?</h2>
10 <h2>Что-нибудь еще?</h2>
11 <p>Также optional применяется в<strong>приведении типов</strong>:</p>
11 <p>Также optional применяется в<strong>приведении типов</strong>:</p>
12 <p>И в<strong>обработке ошибок</strong>:</p>
12 <p>И в<strong>обработке ошибок</strong>:</p>
13 <p><em>По материалам https://tproger.ru/.</em></p>
13 <p><em>По материалам https://tproger.ru/.</em></p>
14 <p>Удачи на собеседованиях!</p>
14 <p>Удачи на собеседованиях!</p>
15  
15