2015-12-22 3 views
0

Нет, вышесказанное НЕ отвечает на этот вопрос! Я прочитал этот пост дважды, прежде чем публиковать это. Кажется, люди думают, что я спрашиваю, что такое факультативный. Я знаю, что такое опционально, поэтому я использую его в качестве примера для уточнения терминологии обертки. Позвольте мне еще более упростить:терминология обертывания/разворота (Swift)

// -------------------------------------- ---------------------

В случае необязательная:

ли дополнительный сама обертка? Когда вы объявляете переменную опциональной, вы ее обертываете? Я буду удовлетворен ответами на эти запросы.

// -------------------------------------------- ---------------

Ответы на разворачивание здесь [на SO] являются [более] типа «как» и «почему». Я хотел бы точно знать «что»! Это, наверное, лучше, если я представляю это как гипотетическое, которое может быть подтверждено или исправлено.

Использование только как только, для выяснения того, что такое обертка.

Правильно ли это:

Необязательное, в этом примере, является оболочкой. Это эквивалентно «пакету», который может содержать значение или значение nil. Когда вы разворачиваете опцию, вы получаете доступ к значению внутри. Чтобы продолжить метафору, «разворачивание открывает пакет для раскрытия содержимого внутри».

И это тоже правильно:

Обертка является необходимым, поскольку основные содержание может быть равна нулю.

Каков пример другой обертки и что она обертывает?

Редактировать: Так как насчет одного из вас [luk2302, Eric D., Daniel Storm, Undo, Himanshu] скажите, где это ответ?

+0

Вы хотите знать концепцию опционных или вы хотите знать детали терминов «пакет» и «обертки» только в этом контексте? – abhishek

+0

Является ли опциональный сам оберткой? Когда вы объявляете переменную опциональной, вы ее обертываете? Это все, что мне нужно. – bpedit

ответ

0

Другим примером упаковки является enum, который обертывает либо результат, либо ошибку. Например. это:

enum Result<T, E> { 
    case Success(T) 
    case Error(E) 
} 
+0

Антон, спасибо. Я немного больше, чем на полпути через Swift Programming Guide, недостаточно, чтобы использовать ваш пример. Если бы вы могли ответить на мои два простых перефразированных вопроса между «комментариями» в моем посте, я был бы благодарен. Еще раз спасибо. – bpedit

+0

Честно говоря, я не совсем понимаю вопрос: «Является ли опциональный сам оберткой?». Во-первых, что для вас означает термин «обертка»? Кажется, вы используете этот термин по-другому, чем я его понимаю. – courteouselk

+0

Ну, вот о чем я не понимаю! Необязательный может содержать значение или ноль. Является ли необязательная оболочка для или содержит значение внутри? В руководстве много говорится об обертывании и распаковке, но на самом деле не указано, что такое оболочка на примере. Является ли ваш enum над оберткой для двух случаев? – bpedit

Смежные вопросы