Нативная разработка мобильных приложений



Download 3,69 Mb.
Pdf ko'rish
bet173/228
Sana21.07.2022
Hajmi3,69 Mb.
#834838
1   ...   169   170   171   172   173   174   175   176   ...   228
Bog'liq
Нативная разработка мобильных приложений

Navigation Item
в сце
-
не 
Welcome View Controller
. Откройте инспектор атрибутов справа и введите 
текст Welcome в поле 
Title
.
Также, если хотите, смените значение 
Automatic
в поле 
Large Title
на 
Al-
ways
. Это увеличит размер отображаемого заголовка и сделает его более чита
-
бельным.
Свойства объекта 
Navigation Item
можно установить программно. Например, опи
-
санным выше атрибутам 
Title
и 
Large Title
соответствуют свойства 
navigationItem.
title
и 
navigationItem.largeTitleDisplayMode
в классе 
UIViewController
.
А теперь попробуйте запустить приложение в симуляторе.
Ой-ей-ей! Похоже, что мы все сломали! Как такое получилось?
Ошибки, ошибки и еще раз ошибки!
Добро пожаловать в чудесный мир ошибок времени выполнения! Как вы могли 
заметить, наше приложение скомпилировалось и запустилось, но потом завис
-
ло. Это обусловлено динамической природой UIKit, которая корнями уходит 
в историю Objective-C. Если открыть класс 
WelcomeViewController
в редакторе, 
можно заметить, что в нем до сих пор имеется свойство 
headerLabel
.


268

Вывод списка с данными
Вы можете сказать: «Но я думал, что мы удалили метку заголовка несколь
-
кими абзацами выше!» – и будете правы. Мы действительно удалили метку. 
Но 
не удалили
ссылку на нее из класса. Есть несколько способов предотвратить 
подобные ошибки в будущем. Один из них – изменить тип свойства 
UI
Label!

который является неявно распаковываемым необязательным типом (то есть 
типом, не поддерживающим значение 
nil
), типом 
Optional
, который поддер
-
живает значение 
nil
.
Проще говоря, iOS ожидала, что при любом взаимодействии с этим свой
-
ством в методе 
viewDidLoad()
оно будет хранить действительную ссылку на объ
-
ект. Поскольку мы удалили метку из сцены в редакторе раскадровки, ссылка 
на нее больше не сохраняется в свойстве класса. Компилятор не знает об этом 
и благополучно скомпилировал проект, потому что все связи устанавливаются 
во время выполнения, а не во время компиляции. Теперь взгляните на следу
-
ющий код:
headerLabel.textColor = .red
Всякий раз, когда приложение выполняет его, система не знает, что ей де
-
лать, потому что в 
headerLabel
должна
храниться ссылка на метку, но ее нет.
На самом деле можно точно определить причину ошибки, если прочитаете 
сообщение о ней, появившееся в консоли, справа внизу в окне Xcode:
Fatal error: Unexpectedly found nil while
implicitly unwrapping an Optional value
(
Фатальная ошибка: встречено значение nil при попытке
неявно распаковать необязательное значение
)
Свойство 
headerLabel
содержит значение 
nil
, которого там не должно быть.

Download 3,69 Mb.

Do'stlaringiz bilan baham:
1   ...   169   170   171   172   173   174   175   176   ...   228




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish