Форум программистов, компьютерный форум CyberForum.ru

Восклицательный знак в Swift - Swift

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 21, средняя оценка - 4.62
kievkao
42 / 42 / 2
Регистрация: 22.11.2012
Сообщений: 225
24.08.2014, 22:49     Восклицательный знак в Swift #1
Всем привет!

Начал опыты со Swift, и тут же столкнулся с модификаторами ? и ! (назову их так) при декларации переменных.
С вопросительным знаком понятно - мы указываем, что переменная может или иметь конкретное значение, или быть nil'ом.

А, вот, с восклицательным я запутался.. Читаю и stackoverflow и доки Apple, но, видимо, мой уровень знания английского не дает уловить суть.
Что, в частности, пишет Apple на эту тему:
"..Sometimes it is clear from a program’s structure that an optional will always have a value, after that value is first set."

Мол, переменная, объявленная таким образом, будет всегда иметь значение, после того, как ей в первый раз присвоят что-нибудь.

Не пойму совершенно смысла такого объявления.. Буду очень благодарен, если бы знающие люди пояснили, в каких случаях нам может быть выгодна маркировка переменных этим восклицательным знаком.

Спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.08.2014, 22:49     Восклицательный знак в Swift
Посмотрите здесь:

Документация SWIFT Swift
Потоки в Swift Swift
Массив Swift Swift
Swift События в Cocoa Swift
Swift Swift, what that?
Swift Мутирование массива - Swift
Swift Казалось бы просто Swift
Swift Swift for Windows
Swift JSON Parsing Swift
Swift Swift и бд
Swift Swift и MySQL
Кнопка в Swift Swift

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
takaTa
5 / 5 / 1
Регистрация: 14.01.2014
Сообщений: 7
25.08.2014, 11:00     Восклицательный знак в Swift #2
Это так называемый Force Unwrap, то есть если в optional есть какое-то значение, то вы его сразу получите, если нет этого значения, то вы получите runtime error. Таким образом восклицательный знак стоит использовать когда вы на 100% уверены, что там есть значение, если же нет, то используйте безопасные конструкции с if, которые подробно описаны в книжке.
Yandex
Объявления
25.08.2014, 11:00     Восклицательный знак в Swift
Ответ Создать тему
Опции темы

Текущее время: 14:05. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru