├── .gitignore
├── Auto Layout.md
├── README.md
├── READMEpart2.md
├── READMEpart3.md
├── UIKit notes.md
└── images
├── AbstractFactory1.jpeg
├── AbstractFactory2.jpeg
├── Adapter.jpeg
├── App Icon Generator .jpg
├── Bridge1.jpeg
├── Bridge2.jpeg
├── Builder1.jpeg
├── Builder2.jpeg
├── ChainOfResponsibility1.jpeg
├── ChainOfResponsibility2.jpeg
├── ChainOfResponsibility3.jpeg
├── ChainOfResponsibility4.jpeg
├── Command1.jpeg
├── Command2.jpeg
├── Command3.jpeg
├── Commenting your functions.jpg
├── Commenting your functions1.jpg
├── Comparison operators.jpg
├── Comparison operators1.jpg
├── Composite1.jpeg
├── Composite2.jpeg
├── CoreDataStack2.jpg
├── Creating an Outlet or Action1.jpg
├── Creating an Outlet or Action2.jpg
├── Creating an Outlet or Action3.jpg
├── Creating an Outlet or Action4.jpg
├── Decorator1.jpeg
├── Decorator2.jpeg
├── Facade.jpeg
├── FactoryMethod1.jpeg
├── FactoryMethod2.jpeg
├── Hello, World! В Terminal.jpg
├── Iterator1.jpeg
├── Iterator2.jpeg
├── Markdown1.jpg
├── Markdown2.jpg
├── Memento1.jpeg
├── Memento2.jpeg
├── Memory 1.jpg
├── Memory 2.jpeg
├── Memory 3.jpeg
├── Memory 4.jpeg
├── Memory 5.jpeg
├── Observer1.jpeg
├── Observer2.jpeg
├── Persistent Store Types.jpg
├── PersistentContainer.jpg
├── Proxy1.jpeg
├── Proxy2.jpeg
├── Proxy3.jpeg
├── Rename an Outlet or Action1.jpg
├── Sequence and Collection.jpg
├── Shift operations.jpg
├── SimpleFactory1.jpeg
├── SimpleFactory2.jpeg
├── Singleton1.jpeg
├── Stack 1.jpg
├── State1.jpeg
├── State2.jpeg
├── Strategy1.jpeg
├── Strategy2.jpeg
├── TemplateMethod1.jpeg
├── TemplateMethod2.jpeg
├── Toolbar view.jpg
├── Triangular number.jpg
├── UIKit classes.jpg
├── Xcode interfaces 1.jpg
├── Xcode interfaces 2.jpg
├── Xcode interfaces 3.jpg
├── Xcode interfaces 4.jpg
├── api example.jpg
├── api example2.jpg
├── api example3.jpg
├── arc1.jpeg
├── arc2.jpeg
├── arc3.jpeg
├── arc4.jpeg
├── arc5.jpeg
├── arc6.jpeg
├── arc7.jpeg
├── auto layout1.jpeg
├── auto layout10.jpeg
├── auto layout100.jpeg
├── auto layout101.jpeg
├── auto layout102.jpeg
├── auto layout103.jpeg
├── auto layout104.jpeg
├── auto layout105.jpeg
├── auto layout106.jpeg
├── auto layout107.jpeg
├── auto layout108.jpeg
├── auto layout109.jpeg
├── auto layout11.jpeg
├── auto layout110.jpeg
├── auto layout12.jpeg
├── auto layout13.jpeg
├── auto layout14.jpeg
├── auto layout15.jpeg
├── auto layout16.jpeg
├── auto layout17.jpeg
├── auto layout18.jpeg
├── auto layout19.jpeg
├── auto layout2.jpeg
├── auto layout20.jpeg
├── auto layout21.jpeg
├── auto layout22.jpeg
├── auto layout23.jpeg
├── auto layout25.jpeg
├── auto layout26.jpeg
├── auto layout27.jpeg
├── auto layout28.jpeg
├── auto layout29.jpeg
├── auto layout3.jpeg
├── auto layout30.jpeg
├── auto layout31.jpeg
├── auto layout32.jpeg
├── auto layout33.jpeg
├── auto layout34.jpeg
├── auto layout35.jpeg
├── auto layout36.jpeg
├── auto layout37.jpeg
├── auto layout38.jpeg
├── auto layout39.jpeg
├── auto layout4.jpeg
├── auto layout40.jpeg
├── auto layout41.jpeg
├── auto layout42.jpeg
├── auto layout43.jpeg
├── auto layout44.jpeg
├── auto layout45.jpeg
├── auto layout46.jpeg
├── auto layout47.jpeg
├── auto layout48.jpeg
├── auto layout49.jpeg
├── auto layout5.jpeg
├── auto layout50.jpeg
├── auto layout51.jpeg
├── auto layout52.jpeg
├── auto layout53.jpeg
├── auto layout54.jpeg
├── auto layout55.jpeg
├── auto layout56.jpeg
├── auto layout57.jpeg
├── auto layout58.jpeg
├── auto layout59.jpeg
├── auto layout6.jpeg
├── auto layout60.jpeg
├── auto layout61.jpeg
├── auto layout62.jpeg
├── auto layout63.jpeg
├── auto layout64.jpeg
├── auto layout65.jpeg
├── auto layout66.jpeg
├── auto layout67.jpeg
├── auto layout68.jpeg
├── auto layout69.jpeg
├── auto layout7.jpeg
├── auto layout70.jpeg
├── auto layout71.jpeg
├── auto layout72.jpeg
├── auto layout73.jpeg
├── auto layout74.jpeg
├── auto layout75.jpeg
├── auto layout77.jpeg
├── auto layout78.jpeg
├── auto layout79.jpeg
├── auto layout8.jpeg
├── auto layout80.jpeg
├── auto layout81.jpeg
├── auto layout82.jpeg
├── auto layout83.jpeg
├── auto layout84.jpeg
├── auto layout85.jpeg
├── auto layout86.jpeg
├── auto layout87.jpeg
├── auto layout88.jpeg
├── auto layout89.jpeg
├── auto layout9.jpeg
├── auto layout90.jpeg
├── auto layout91.jpeg
├── auto layout92.jpeg
├── auto layout93.jpeg
├── auto layout94.jpeg
├── auto layout95.jpeg
├── auto layout96.jpeg
├── auto layout97.jpeg
├── auto layout98.jpeg
├── auto layout99.jpeg
├── classes var reference.jpg
├── coredata.jpg
├── coredata1.jpg
├── entity.jpg
├── escape character.jpg
├── example continue operation1.jpg
├── example continue operation2.jpg
├── example continue operation3.jpg
├── gcd1.jpg
├── gcd10.jpg
├── gcd11.jpg
├── gcd12.jpg
├── gcd13.jpg
├── gcd14.jpg
├── gcd15.jpg
├── gcd16.jpg
├── gcd17.jpg
├── gcd18.jpg
├── gcd19.jpg
├── gcd2.jpg
├── gcd20.jpg
├── gcd21.jpg
├── gcd22.jpg
├── gcd23.jpg
├── gcd24.jpg
├── gcd25.jpg
├── gcd26.jpg
├── gcd27.jpg
├── gcd28.jpg
├── gcd29.jpg
├── gcd3.jpg
├── gcd4.jpg
├── gcd5.jpg
├── gcd6.jpg
├── gcd7.jpg
├── gcd8.jpg
├── gcd9.jpg
├── hierarchy initialized.jpg
├── iPhone 14 Pro Max.jpeg
├── iPhone 14.jpeg
├── memoryLeaks.jpeg
├── mvc1.jpeg
├── mvc2.jpeg
├── mvc3.jpeg
├── mvc4.jpeg
├── mvvm1.jpeg
├── mvvm2.jpeg
├── mvvm3.jpeg
├── protocols by Int.jpg
├── protocols by Int2.jpg
├── reference and value type.jpg
├── solveMemoryLeaks.jpeg
├── stack and heap.jpg
├── stack-heap.jpg
├── stackAndHeap.jpg
├── stackAndHeap2.jpg
├── stackAndHeap3.jpg
├── struct var value.jpg
├── type links.jpeg
├── view xcode.jpg
├── Консольная игра Угадай число.jpg
├── Область видимости.jpg
├── Отношения между инициализаторами.jpg
├── Память.jpg
├── Последовательности Sequence.jpg
├── СoreDataStack1.jpg
├── СоздатьХранилище с именами.jpg
├── Тип данных Float.jpg
├── Тип данных Int.jpg
├── Типы данных.jpg
├── множественное наследование с протоколами.jpg
├── нижним подчеркиванием _ .jpg
├── оперативная память.jpg
├── операции с множествами.jpg
├── отображение элементов.jpg
├── ошибки в числах с плавающей точкой.jpg
├── паттерны1.jpeg
├── паттерны2.jpeg
├── пример error.jpg
├── протокол1.jpeg
├── размеры изображений в 1x, 2x и 3x .jpg
├── уровни памяти и взаимодействия.jpg
├── цикличные ссылки.jpeg
└── цикличные ссылки1.jpeg
/.gitignore:
--------------------------------------------------------------------------------
1 | # Xcode
2 | #
3 | # gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
4 |
5 | *~
6 | .*.swp
7 | .DS_Store
8 |
9 | ## User settings
10 | xcuserdata/
11 |
12 | ## compatibility with Xcode 8 and earlier (ignoring not required starting Xcode 9)
13 | *.xcscmblueprint
14 | *.xccheckout
15 |
16 | ## compatibility with Xcode 3 and earlier (ignoring not required starting Xcode 4)
17 | build/
18 | DerivedData/
19 | *.moved-aside
20 | *.pbxuser
21 | !default.pbxuser
22 | *.mode1v3
23 | !default.mode1v3
24 | *.mode2v3
25 | !default.mode2v3
26 | *.perspectivev3
27 | !default.perspectivev3
28 |
29 | ## Obj-C/Swift specific
30 | *.hmap
31 |
32 | ## App packaging
33 | *.ipa
34 | *.dSYM.zip
35 | *.dSYM
36 |
37 | ## Playgrounds
38 | timeline.xctimeline
39 | playground.xcworkspace
40 |
41 | # Swift Package Manager
42 | #
43 | # Add this line if you want to avoid checking in source code from Swift Package Manager dependencies.
44 | # Packages/
45 | # Package.pins
46 | # Package.resolved
47 | # *.xcodeproj
48 | #
49 | # Xcode automatically generates this directory with a .xcworkspacedata file and xcuserdata
50 | # hence it is not needed unless you have added a package configuration file to your project
51 | # .swiftpm
52 |
53 | .build/
54 |
55 | # CocoaPods
56 | #
57 | # We recommend against adding the Pods directory to your .gitignore. However
58 | # you should judge for yourself, the pros and cons are mentioned at:
59 | # https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
60 | #
61 | Pods/
62 | #
63 | # Add this line if you want to avoid checking in source code from the Xcode workspace
64 | # *.xcworkspace
65 |
66 | # Carthage
67 | #
68 | # Add this line if you want to avoid checking in source code from Carthage dependencies.
69 | # Carthage/Checkouts
70 |
71 | Carthage/Build/
72 |
73 | # Accio dependency management
74 | Dependencies/
75 | .accio/
76 |
77 | # fastlane
78 | #
79 | # It is recommended to not store the screenshots in the git repo.
80 | # Instead, use fastlane to re-generate the screenshots whenever they are needed.
81 | # For more information about the recommended setup visit:
82 | # https://docs.fastlane.tools/best-practices/source-control/#source-control
83 |
84 | fastlane/report.xml
85 | fastlane/Preview.html
86 | fastlane/screenshots/**/*.png
87 | fastlane/test_output
88 |
89 | # Code Injection
90 | #
91 | # After new code Injection tools there's a generated folder /iOSInjectionProject
92 | # https://github.com/johnno1962/injectionforxcode
93 |
94 | iOSInjectionProject/
--------------------------------------------------------------------------------
/UIKit notes.md:
--------------------------------------------------------------------------------
1 | ## [UIKit](https://developer.apple.com/documentation/uikit)
2 |
3 |
4 |
5 | [Views and controls](https://developer.apple.com/documentation/uikit/views_and_controls)
6 |
7 | Верстка кодом. Элементы функционала
8 |
9 | ---
10 |
11 | ### [#UIButton](https://developer.apple.com/documentation/uikit/uibutton)
12 |
13 | `#Tint color` – цвет оттенка кнопки
14 |
15 | `#IBOutlet` – кастомизация, обращение к свойствам элемента (к примеру кнопки, label и тп)
16 |
17 | `#IBAction` – будет выполнять все действия связанные с элементом
18 |
19 | ```swift
20 | override func viewDidLoad() {
21 |
22 | // скрываем - true, показываем - false
23 | button.isHidden = true
24 |
25 | // текст кнопки
26 | button.setTitle("Clear", for: .normal)
27 |
28 | // цвет текста
29 | button.setTitleColor(UIColor.white, for: .normal)
30 |
31 | // фон
32 | button.backgroundColor = UIColor.red
33 |
34 | }
35 | ```
36 |
37 | ---
38 |
39 | ### [#UILabel](https://developer.apple.com/documentation/uikit/uilabel)
40 |
41 | ```swift
42 | override func viewDidLoad() {
43 | // скрываем - true, показываем - false
44 | label.isHidden = true
45 |
46 | // шрифт
47 | label.font = label.font.withSize(35)
48 |
49 | // текст
50 | label.text = "Hello World!"
51 |
52 | // цвет текста
53 | label.textColor = .white
54 |
55 | // значение свойства currentTitle для кнопки
56 | if sender.titleLabel?.text == "Action 1" { }
57 |
58 | // тегирование элементов
59 | if sender.tag == 0 { }
60 |
61 | // тень
62 | label.shadowColor = UIColor.white
63 |
64 | // выравнивание центр, слева, справа
65 | label.textAlignment = .center
66 |
67 | // количество строк в label
68 | label.numberOfLines = 3
69 |
70 | }
71 | ```
72 |
73 | ---
74 |
75 | ### [#UISegmentedControl](https://developer.apple.com/documentation/uikit/uisegmentedcontrol)
76 | `#UISegmentedControl` - the segments can represent single or multiple selection, or a list of commands. Each segment can display text or an image, but not both.
77 |
78 | Добавить кодом segment, можно просто заголовок и текст; можно и с image, `at` это порядковый индекс элемента
79 |
80 | ```swift
81 | override func viewDidLoad() {
82 |
83 | segmentedContol.insertSegment(withTitle: "Third", at: 2, animated: true)
84 | // or
85 | segmentedContol.insertSegment(with: UIImage?, at: Int, animated: embed in -> scroll view`
157 |
158 | Все констрейты которые ранее были связаны с View (обычный) теперь не работают, так как элементы поместили в UIScrollView. Привяжем UIScrollView к View, и все констрейты элементов к UIScrollView. Xcode может сам добавить пропущенные констрейты (кнопка треугольник нижняя панель, `resolve auto layout issues - add missing constraints`)
159 |
160 | ---
161 |
162 | ### [#UIDatePicker](https://developer.apple.com/documentation/uikit/uidatepicker)
163 | #Барабан выбора, даты, времени.
164 |
165 | [#DateFormatter()](https://developer.apple.com/documentation/foundation/dateformatter/) - форматирование, которое преобразует даты в их текстовые представления. Так как у даты изначально значение вовсе не String. Поэтому нужен отдельный метод для преобразования в String, для вывода в label.
166 |
167 | ```swift
168 | override func viewDidLoad() {
169 | // добавим отображение даты на русском, локализуем
170 | datePicker.locale = Locale(identifier: "ru_RU")
171 |
172 | }
173 |
174 | @IBAction func changeDate(_ sender: UIDatePicker) {
175 | let dateFormatter = DateFormatter()
176 | dateFormatter.dateStyle = .full
177 | // явно локализуем формат даты для отображения в label на русском, может уже работать автоматически
178 | dateFormatter.locale = Locale(identifier: "ru_RU")
179 | let dateValue = dateFormatter.string(from: sender.date)
180 | label.text = dateValue
181 | }
182 | ```
183 |
184 | ---
185 |
186 | ### [#UISwitch](https://developer.apple.com/documentation/uikit/uiswitch)
187 |
188 | ```swift
189 | override func viewDidLoad() {
190 | switchElement.isOn = false
191 | switchElement.onTintColor = UIColor.blue
192 | switchElement.thumbTintColor = UIColor.red
193 |
194 | }
195 | ```
196 |
197 | Пример использования switch для скрытия/отображения элементов на экране
198 |
199 | ```swift
200 | @IBAction func switchAction(_ sender: UISwitch) {
201 | label.isHidden = !label.isHidden
202 | textField.isHidden = !textField.isHidden
203 | if sender.isOn {
204 | switchLabel.text = "Отображить все элементы"
205 | } else {
206 | switchLabel.text = "Скрыть все элементы"
207 | }
208 | }
209 | ```
210 |
211 | ---
212 |
213 | ### [#UIPickerView](https://developer.apple.com/documentation/uikit/uipickerview)
214 | Вращающийся барабан с возможностью выбора среди элементов, чем то похож на UIDatePicker.
215 |
216 | Необходимые протоколы (подпись extension) [#UIPickerViewDelegate](https://developer.apple.com/documentation/uikit/uipickerviewdelegate), и [#UIPickerViewDataSource](https://developer.apple.com/documentation/uikit/uipickerviewdatasource), и обязательные для них методы.
217 |
218 | [Пример использования](https://github.com/artemiosdev/Swift-Manual-my-notes/blob/main/small%20apps%2C%20examples/UISegmentedControl/UISegmentedControl/ViewController.swift) с отдельной кнопкой [#UIToolbar](https://developer.apple.com/documentation/uikit/uitoolbar) и [#UIBarButtonItem](https://developer.apple.com/documentation/uikit/uibarbuttonitem)
219 |
220 | ```swift
221 | class ViewController: UIViewController {
222 |
223 | // элементы для выбора в PickerView
224 | var uiElements = ["UISegmentedControl",
225 | "UILabel",
226 | "UISlider",
227 | "UITextField",
228 | "UIButton",
229 | "UIDatePicker" ]
230 | var selectedElement: String?
231 |
232 | override func viewDidLoad() {
233 | super.viewDidLoad()
234 | // для PickerView
235 | choiceUiElements()
236 | createToolbar()
237 | }
238 |
239 | func choiceUiElements() {
240 | // создаем Picker View
241 | let elementPicker = UIPickerView()
242 |
243 | // скрываем клавиатуру при тапе в поле textField
244 | elementPicker.delegate = self
245 | textField.inputView = elementPicker
246 |
247 | // customization
248 | elementPicker.backgroundColor = UIColor.brown
249 | }
250 |
251 | // можно создать отдельную кнопку для выхода из PickerView
252 | func createToolbar() {
253 | let toolbar = UIToolbar()
254 | // встраиваем в наш View под размер
255 | toolbar.sizeToFit()
256 | let doneButton = UIBarButtonItem(title: "Done",
257 | style: .plain,
258 | target: self,
259 | action: #selector(dismissKeyboard))
260 |
261 | // позволяет разместить несколько объектов, в данном случае кнопку Done
262 | toolbar.setItems([doneButton], animated: true)
263 | // мы разрешаем пользователю взаимодействовать с этим элементом
264 | toolbar.isUserInteractionEnabled = true
265 | // при тапе в поле textField будет открываться именно toolbar
266 | textField.inputAccessoryView = toolbar
267 |
268 | // customization
269 | toolbar.tintColor = UIColor.white
270 | toolbar.barTintColor = UIColor.brown
271 | }
272 |
273 | // скрываем клавиатуру
274 | @objc func dismissKeyboard() {
275 | view.endEditing(true)
276 | }
277 | }
278 | ```
279 |
280 |
281 | ```swift
282 | // кастомная настройка PickerView, обязательные методы протоколов
283 | extension ViewController: UIPickerViewDelegate, UIPickerViewDataSource {
284 | // возвращает кол-во барабанов которое будем использовать
285 | func numberOfComponents(in pickerView: UIPickerView) -> Int {
286 | return 1
287 | }
288 |
289 | // кол-во доступных элементов из массива для барабана
290 | func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
291 | return uiElements.count
292 | }
293 |
294 | // отображение элементов из массива, по индексу row
295 | func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, forComponent component: Int) -> String? {
296 | return uiElements[row]
297 | }
298 |
299 | // взаимодействие с выбранным элементом
300 | func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, inComponent component: Int) {
301 | selectedElement = uiElements[row]
302 | textField.text = selectedElement
303 | }
304 |
305 | // позволяет работать со свойствами label внутри PickerView, и кастомизировать их
306 | func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int,
307 | reusing view: UIView?) -> UIView {
308 | var pickerViewLabel = UILabel()
309 | if let currentLabel = view as? UILabel {
310 | pickerViewLabel = currentLabel
311 | } else {
312 | pickerViewLabel = UILabel()
313 | }
314 |
315 | pickerViewLabel.textColor = UIColor.white
316 | pickerViewLabel.textAlignment = .center
317 | pickerViewLabel.font = UIFont(name: "AppleSDGothicNeo-Regular", size: 25)
318 | pickerViewLabel.text = uiElements[row]
319 | return pickerViewLabel
320 | }
321 | }
322 | ```
323 |
324 | ---
325 |
326 | ### [#UITextView ](https://developer.apple.com/documentation/uikit/uitextview)
327 |
328 | [#UITextViewDelegate](https://developer.apple.com/documentation/uikit/uitextviewdelegate) - протокол включающий в себя методы отслеживания тапов, и не только.
329 |
330 | ```swift
331 | override func viewDidLoad() {
332 |
333 | textView.text = ""
334 | textView.delegate = self
335 | textView.font = UIFont(name: "AppleSDGothicNeo-Regular", size: 17)
336 | textView.backgroundColor = UIColor.systemGreen
337 |
338 | // округлим углы поля
339 | textView.layer.cornerRadius = 10
340 |
341 | }
342 | ```
343 |
344 | Изменим фон textView при редактировании, и просто при просмотре
345 |
346 | ```swift
347 | extension ViewController: UITextViewDelegate {
348 | // срабатывает при тапе на область textView
349 | func textViewDidBeginEditing(_ textView: UITextView) {
350 | textView.backgroundColor = UIColor.white
351 | textView.textColor = UIColor.gray
352 | }
353 | // срабатываем при тапе за пределами textView
354 | // при окончании работы с полем
355 | func textViewDidEndEditing(_ textView: UITextView) {
356 | textView.backgroundColor = UIColor.systemGreen
357 | textView.textColor = UIColor.black
358 | }
359 | }
360 | ```
361 |
362 | ```swift
363 | class ViewController: UIViewController {
364 | // данный метод отслеживаем тапы
365 | override func touchesBegan(_ touches: Set, with event: UIEvent?) {
366 | // скрыть клавиатуру для любого вызванного объекта
367 | // при тапе по view он скроет ранее вызванную клавиатуру
368 | self.view.endEditing(true)
369 |
370 | // позволяет отключить клавиатуру для конкретного вызванного объекта
371 | textView.resignFirstResponder()
372 | }
373 | }
374 | ```
375 |
376 | `#textView.text.count` – количество символов в textView.
377 | Далее вводим символ (всегда считается по одному введенному символу), и здесь же отнимаем удаленные символы клавишей backspace если конечно удаляли `+ (text.count - range.length)` <= 600 , и здесь лимит на 600 значений
378 |
379 |
380 | ```swift
381 | extension ViewController: UITextViewDelegate {
382 | // позволяет вводить в textView определенное кол-во символов
383 | func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
384 | countLabel.text = "\(textView.text.count)"
385 | return textView.text.count + (text.count - range.length) <= 600
386 | }
387 | }
388 | ```
389 |
390 | Можно назначать наблюдателей за поведением textView, чтобы клавиатура не перекрывала textView, "приподнять" поле при появлении клавиатуры, и "опустить" при скрытии клавиатуры. Уменьшить шрифт, фон, цвет и тп.
391 |
392 | ```swift
393 | override func viewDidLoad() {
394 |
395 | // наблюдатель, будет следить за появлением клавиатуры
396 | // UIKeyboardWillChangeFrame, и запускать updateTextView
397 | // когда клавиатура поменяет свой размер
398 | NotificationCenter.default.addObserver(self,
399 | selector: #selector(updateTextView(notification:)),
400 | name: UIResponder.keyboardWillChangeFrameNotification,
401 | object: nil)
402 |
403 | // наблюдатель, будет следить за скрытием клавиатуры UIKeyboardWillHide и запускать updateTextView
404 | NotificationCenter.default.addObserver(self,
405 | selector: #selector(updateTextView(notification:)),
406 | name: UIResponder.keyboardWillHideNotification,
407 | object: nil)
408 |
409 | }
410 | ```
411 |
412 | ---
413 |
414 | ### [#UIStepper ](https://developer.apple.com/documentation/uikit/uistepper)
415 | Элемент управления, для увеличения или уменьшения значения.
416 | Размер шрифта измеряется в CGFloat
417 |
418 | ```swift
419 | override func viewDidLoad() {
420 |
421 | stepper.value = 17
422 | stepper.maximumValue = 10
423 | stepper.maximumValue = 25
424 | stepper.stepValue = 1
425 | stepper.tintColor = .white
426 | stepper.backgroundColor = .gray
427 | // скругление углов у stepper
428 | stepper.layer.cornerRadius = 5
429 |
430 | }
431 | ```
432 |
433 | ```swift
434 | // увеличение и уменьшение шрифта
435 | // в заданных границах в textView
436 | @IBAction func sizeFont(_ sender: UIStepper) {
437 | let font = textView.font?.fontName
438 | let fontSize = CGFloat(sender.value)
439 | textView.font = UIFont(name: font!, size: fontSize)
440 | }
441 | ```
442 |
443 | ---
444 |
445 | ### [#UIActivityIndicatorView](https://developer.apple.com/documentation/uikit/uiactivityindicatorview)
446 | Анимация прогресса загрузки данных.
447 |
448 | Если нужно запретить пользователю взаимодействовать с вашим приложением во время пока `#UIActivityIndicatorView` активен (к примеру, пока грузятся данные). То в `viewDidLoad()`
449 |
450 | ```swift
451 | @IBOutlet weak var activityIndicator: UIActivityIndicatorView!
452 |
453 | override func viewDidLoad() {
454 |
455 | // отвечает за ActivityIndicator,
456 | // когда он закончит свою анимацию действия, то исчезнет
457 | activityIndicator.hidesWhenStopped = true
458 | activityIndicator.color = UIColor.darkGray
459 | activityIndicator.startAnimating()
460 |
461 | // метод UIApplication.shared.beginIgnoringInteractionEvents() устарел
462 | // вот новое решение, заморозим view, с ним нельзя взаимодействовать
463 | self.view.isUserInteractionEnabled = false
464 |
465 |
466 | // данный метод прекратит анимацию activityIndicator.startAnimating()
467 | UIView.animate(withDuration: 0, delay: 5, options: .curveEaseIn) {
468 | self.textView.alpha = 1
469 | } completion: { finished in
470 | self.activityIndicator.stopAnimating()
471 | self.textView.isHidden = false
472 | // оживим view для взаимодействия
473 | self.view.isUserInteractionEnabled = true
474 | }
475 | }
476 | ```
477 |
478 | ---
479 |
480 | ### [#UIProgressView](https://developer.apple.com/documentation/uikit/uiprogressview)
481 | Индикатор прогресса загрузки.
482 |
483 | ```swift
484 | @IBOutlet weak var progressView: UIProgressView!
485 |
486 | override func viewDidLoad() {
487 | progressView.setProgress(0, animated: true)
488 |
489 | Timer.scheduledTimer(withTimeInterval: 1, repeats: true) { _ in
490 | if self.progressView.progress != 1 {
491 | self.progressView.progress += 0.2
492 | } else {
493 | self.activityIndicator.stopAnimating()
494 | self.textView.isHidden = false
495 | // оживим view для взаимодействия
496 | self.view.isUserInteractionEnabled = true
497 | self.progressView.isHidden = true
498 | }
499 | }
500 | }
501 | ```
502 |
503 | ---
504 |
505 | ### #Navigation
506 |
507 | - [#Navigation Controller Scene](https://developer.apple.com/documentation/uikit/uinavigationcontroller)
508 | - [#UINavigationItem](https://developer.apple.com/documentation/uikit/uinavigationitem)
509 |
510 | ```swift
511 | // Uncomment the following line to display an Edit button in the navigation bar for this view controller.
512 | self.navigationItem.rightBarButtonItem = self.editButtonItem
513 | ```
514 |
515 | ---
516 |
517 | ### [#UITableViewController](https://developer.apple.com/documentation/uikit/uitableviewcontroller)
518 |
519 | В `[indexPath.row]` мы располагаем каждый элемент из нашего массива на отдельной строке. Обращаемся, чтобы выбрать конкретный элемент для конкретной строки.
520 |
521 | - [#UIListContentConfiguration](https://developer.apple.com/documentation/uikit/uilistcontentconfiguration) - конфигурация содержимого для представления содержимого на основе списка, `#content`
522 |
523 | ```swift
524 | var content = cell.defaultContentConfiguration()
525 | // Configure content.
526 | content.image = UIImage(systemName: "star")
527 | content.text = "Favorites"
528 | // Customize appearance.
529 | content.imageProperties.tintColor = .purple
530 | cell.contentConfiguration = content
531 | ```
532 |
533 | - [#tableView(_:numberOfRowsInSection:)](https://developer.apple.com/documentation/uikit/uitableviewdatasource/1614931-tableview) - указывает источнику данных возвращать необходимое количество строк в заданном разделе табличного представления.
534 |
535 | ```swift
536 | // MARK: - Table view data source
537 | // возвращает кол-во строк
538 | override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
539 | // #warning Incomplete implementation, return the number of rows
540 | return imageNameArray.count
541 | }
542 | ```
543 |
544 | - [#tableView(_:cellForRowAt:)](https://developer.apple.com/documentation/uikit/uitableviewdatasource/1614861-tableview) - запрашивает у источника данных ячейку для вставки в определенном месте табличного представления. Используем описанный выше `#content` [#UIListContentConfiguration](https://developer.apple.com/documentation/uikit/uilistcontentconfiguration)
545 |
546 | ```swift
547 | // создание ячейки по Identifier и работа с ячейкой
548 | override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
549 | let cell = tableView.dequeueReusableCell(withIdentifier: "Title", for: indexPath)
550 |
551 | // устаревшие свойства
552 | // cell.imageView?.image = UIImage(named: imageNameArray[indexPath.row])
553 | // cell.textLabel?.text = imageNameArray[indexPath.row]
554 |
555 | var content = cell.defaultContentConfiguration()
556 | let track = imageNameArray[indexPath.row]
557 | // Configure content.
558 | content.image = UIImage(named: track.title)
559 | content.text = track.song
560 | content.secondaryText = track.artist
561 | content.textProperties.numberOfLines = 0
562 | content.imageProperties.cornerRadius = tableView.rowHeight / 2
563 | cell.contentConfiguration = content
564 | return cell
565 | }
566 | ```
567 |
568 | - [#tableView(_:didSelectRowAt:)](https://developer.apple.com/documentation/uikit/uitableviewdelegate/1614877-tableview) - tells the delegate a row is selected.
569 |
570 | tableView - informing the delegate about the new row selection.
571 |
572 | indexPath - locating the new selected row in tableView.
573 |
574 | В примере ниже используется [#UIContainerView](https://github.com/artemiosdev/Small-projects/tree/main/UIContainerView/UIContainerView) для ipad. UIContainerView - определяет область в иерархии представлений контроллера представления для размещения дочернего #child view controller. The child view controller указывается с помощью встроенного перехода segue. Встраивается наш TableView отвечающий за список song in ContainerView, все на одном экране ipad который визуально разделен на условные 2 области для пользователя.
575 |
576 | ```swift
577 | override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
578 | if let viewController = parent as? ViewController {
579 | let track = imageNameArray[indexPath.row]
580 | viewController.artistLabel.text = track.artist
581 | viewController.songLabel.text = track.song
582 | viewController.imageCover.image = UIImage(named: track.title)
583 | }
584 | }
585 | ```
586 |
587 | и здесь же используется свойство [#parent](https://developer.apple.com/documentation/uikit/uiviewcontroller/1621362-parent)
588 | Instance Property #parent - The parent view controller of the recipient.
589 |
590 | `weak var parent: UIViewController? { get }`
591 |
592 | ` if let viewController = parent as? ViewController { ... } `
593 |
594 | - [#prepare(for:sender:)](https://developer.apple.com/documentation/uikit/uiviewcontroller/1621490-prepare) - уведомляет контроллер представления о том, что переход вот-вот будет выполнен. При тапе на трек, сделаем переход #seque, добавим #identifier, на новый view controller
595 |
596 | ```swift
597 | // MARK: - Navigation
598 | // In a storyboard-based application, you will often want to do a little preparation before navigation
599 | override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
600 | if segue.identifier == "ShowDetail" {
601 | if let indexPath = self.tableView.indexPathForSelectedRow {
602 | let detailViewController = segue.destination as! DetailViewController
603 | let track = imageNameArray[indexPath.row]
604 | detailViewController.track = track
605 | }
606 | }
607 | // или тот же переход, но с guard
608 | // guard let detailViewController = segue.destination as? DetailViewController else { return }
609 | // guard let indexPath = tableView.indexPathForSelectedRow else { return }
610 | // let track = imageNameArray[indexPath.row]
611 | // detailViewController.track = track
612 | }
613 | ```
614 |
615 | ---
616 |
617 | ### [#UICollectionViewController](https://developer.apple.com/documentation/uikit/uicollectionviewcontroller)
618 | контроллер представления, который специализируется на управлении представлением коллекции.
619 |
620 | - [#UICollectionViewCell](https://developer.apple.com/documentation/uikit/uicollectionviewcell)
621 |
622 | - [#collectionView(_:numberOfItemsInSection:)](https://developer.apple.com/documentation/uikit/uicollectionviewdatasource/1618058-collectionview) - запрашивает у вашего объекта источника данных количество элементов в указанном разделе.
623 |
624 | ```swift
625 | // MARK: UICollectionViewDataSource
626 | override func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
627 | // #warning Incomplete implementation, return the number of items
628 | return imageNameArray.count
629 | }
630 | ```
631 |
632 | - [#collectionView(_:cellForItemAt:)](https://developer.apple.com/documentation/uikit/uicollectionviewdatasource/1618029-collectionview) - запрашивает у вашего объекта источника данных ячейку, соответствующую указанному элементу в представлении коллекции.
633 |
634 | ```swift
635 | override func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
636 | let cell = collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath) as! ArtCoverCell
637 | let track = imageNameArray[indexPath.row]
638 | // Configure content.
639 | cell.coverImageView.image = UIImage(named: track.title)
640 | return cell
641 | }
642 | }
643 | ```
644 |
645 | - [#prepare(for:sender:)](https://developer.apple.com/documentation/uikit/uiviewcontroller/1621490-prepare) - уведомляет контроллер представления о том, что переход вот-вот будет выполнен. При тапе на трек, сделаем переход #seque, добавим #identifier, на новый view controller
646 |
647 | ```swift
648 | // MARK: - Navigation
649 | override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
650 | if segue.identifier == "ShowDetail" {
651 | let cell = sender as! UICollectionViewCell
652 | let indexPath = self.collectionView.indexPath(for: cell)
653 | let detailViewController = segue.destination as! DetailViewController
654 | let track = imageNameArray[indexPath!.row]
655 | detailViewController.track = track
656 | }
657 | }
658 | ```
659 |
660 |
661 | ---
662 |
663 | ### [#UICollectionViewFlowLayout](https://developer.apple.com/documentation/uikit/uicollectionviewflowlayout)
664 | верстка элемента кодом
665 |
666 | ```swift
667 | let layout = UICollectionViewFlowLayout()
668 | layout.sectionInset = UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20)
669 | layout.itemSize = CGSize(width: 105, height: 105)
670 | layout.minimumInteritemSpacing = 0
671 | layout.minimumLineSpacing = 20
672 | collectionView.collectionViewLayout = layout
673 | ```
674 |
675 | ```swift
676 |
677 | ```
678 |
679 |
680 |
681 | ---
682 |
683 | ### [#WKWebView](https://developer.apple.com/documentation/webkit/wkwebview)
684 | An object that displays interactive web content, such as for an in-app browser.
685 |
686 | - [#WebKit](https://developer.apple.com/documentation/webkit) - integrate web content seamlessly into your app, and customize content interactions to meet your app’s needs.
687 | - [Creating a simple browser with WKWebView, by hackingwithswift](https://www.hackingwithswift.com/read/4/2/creating-a-simple-browser-with-wkwebview)
688 | - [#WKNavigationDelegate](https://developer.apple.com/documentation/webkit/wknavigationdelegate) - methods for accepting or rejecting navigation changes, and for tracking the progress of navigation requests.
689 | - [#UITextFieldDelegate](https://developer.apple.com/documentation/uikit/uitextfielddelegate) - a set of optional methods to manage the editing and validation of text in a text field object.
690 | - [#URL](https://developer.apple.com/documentation/foundation/url)
691 | - [#URLRequest](https://developer.apple.com/documentation/foundation/urlrequest)
692 | - [#load(_:)](https://developer.apple.com/documentation/webkit/wkwebview/1414954-load) - loads the web content that the specified URL request object references and navigates to that content.
693 | ```swift
694 | let homePage = "https://www.apple.com"
695 | let url = URL(string: homePage)
696 | let request = URLRequest(url: url!)
697 | urlTextField.text = homePage
698 | webView.load(request)
699 | ```
700 | - [webView.#allowsBackForwardNavigationGestures](https://developer.apple.com/documentation/webkit/wkwebview/1414995-allowsbackforwardnavigationgestu) - Boolean value that indicates whether horizontal swipe gestures trigger backward and forward page navigation. Добавим свайпы вперед и назад
701 | ```swift
702 | // добавим свайпы вперед и назад
703 | webView.allowsBackForwardNavigationGestures = true
704 | ```
705 |
706 | Свойства `webView`
707 | - `#canGoBack` - Boolean value that indicates whether there is a valid back item in the back-forward list.
708 | - `#canGoForward` - a Boolean value that indicates whether there is a valid forward item in the back-forward list.
709 | И методы `webView`
710 | - `#goBack()` - navigates to the back item in the back-forward list. New navigation to the requested item, or nil if there is no back item in the back-forward list.
711 | - `#goForward()` - navigates to the forward item in the back-forward list. New navigation to the requested item, or nil if there is no forward item in the back-forward list.
712 | ```swift
713 | // добавим функционал кнопок при возможности их использования
714 | @IBAction func backButtonAction(_ sender: UIButton) {
715 | if webView.canGoBack {
716 | webView.goBack()
717 | }
718 | }
719 | @IBAction func forwardButtonAction(_ sender: UIButton) {
720 | if webView.canGoForward {
721 | webView.goForward()
722 | }
723 | }
724 | ```
725 | and
726 | ```swift
727 | backButton.isEnabled = webView.canGoBack
728 | forwardButton.isEnabled = webView.canGoForward
729 | ```
730 |
731 | - [#resignFirstResponder()](https://developer.apple.com/documentation/uikit/uiresponder/1621097-resignfirstresponder) - notifies this object that it has been asked to relinquish its status as first responder in its window. Им "скрываем" клавиатуру после ввода нужного адреса ссылки.
732 | ```swift
733 | textField.resignFirstResponder()
734 | ```
735 |
736 |
737 | - [#textFieldShouldReturn(_:)](https://developer.apple.com/documentation/uikit/uitextfielddelegate/1619603-textfieldshouldreturn) - asks the delegate whether to process the pressing of the Return button for the text field. Работает благодаря протоколу UITextFieldDelegate.
738 |
739 | - [#webView(_:#didFinish:)](https://developer.apple.com/documentation/webkit/wknavigationdelegate/1455629-webview) - tells the delegate that navigation is complete (завершена).
740 |
741 | ```swift
742 | extension ViewController: UITextFieldDelegate, WKNavigationDelegate {
743 | func textFieldShouldReturn(_ textField: UITextField) -> Bool {
744 | let urlString = textField.text!
745 | let url = URL(string: urlString)!
746 | let request = URLRequest(url: url)
747 | webView.load(request)
748 | textField.resignFirstResponder()
749 | return true
750 | }
751 |
752 | func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
753 | urlTextField.text = webView.url?.absoluteString
754 | // реализуем свайпы вперед и назад
755 | backButton.isEnabled = webView.canGoBack
756 | forwardButton.isEnabled = webView.canGoForward
757 | }
758 | }
759 | ```
760 |
761 | ---
762 |
763 | ### [#UIGestureRecognizer](https://developer.apple.com/documentation/uikit/uigesturerecognizer)
764 |
765 | The base class for concrete #gesture #recognizers.
766 |
767 | - [#UISwipeGestureRecognizer](https://developer.apple.com/documentation/uikit/uiswipegesturerecognizer) - a discrete gesture recognizer that interprets swiping gestures in one or more directions.
768 | - [.#direction](https://developer.apple.com/documentation/uikit/uiswipegesturerecognizer/1619178-direction) - the permitted direction of the swipe for this gesture recognizer.
769 | - [#addGestureRecognizer(_:)](https://developer.apple.com/documentation/uikit/uiview/1622496-addgesturerecognizer) - прикрепляет a gesture recognizer to the view.
770 |
771 | ```swift
772 | func swipeObservers() {
773 | // создаем наблюдателей для каждого свайпа
774 | let swipeRight = UISwipeGestureRecognizer(target: self, action: #selector(handleSwipes))
775 | swipeRight.direction = .right
776 | self.view.addGestureRecognizer(swipeRight)
777 | }
778 |
779 | @objc func handleSwipes(gester: UISwipeGestureRecognizer) {
780 | switch gester.direction {
781 | case .right:
782 | label.text = "Right swipe was recognized"
783 | default:
784 | break
785 | }
786 | }
787 | ```
788 |
789 | - [#UITapGestureRecognizer](https://developer.apple.com/documentation/uikit/uitapgesturerecognizer) - a discrete gesture recognizer that interprets single or multiple taps.
790 | - [#numberOfTapsRequired](https://developer.apple.com/documentation/uikit/uitapgesturerecognizer/1623581-numberoftapsrequired) - the number of taps necessary for gesture recognition.
791 | - [#require(toFail:)](https://developer.apple.com/documentation/uikit/uigesturerecognizer/1624203-require) - creates a dependency relationship between the gesture recognizer and another gesture recognizer when the objects are created.
792 |
793 | ```swift
794 | func tapObservers() {
795 | // создаем наблюдателей для каждого тапа
796 | let tripleTap = UITapGestureRecognizer(target: self, action: #selector(tripleTapAction))
797 | // кол-во отслеживаемых тапов
798 | tripleTap.numberOfTapsRequired = 3
799 | self.view.addGestureRecognizer(tripleTap)
800 |
801 | let doubleTap = UITapGestureRecognizer(target: self, action: #selector(doubleTapAction))
802 | // для того чтобы проигнорировать двойной тап, если тапаем трижды
803 | doubleTap.require(toFail: tripleTap)
804 |
805 | doubleTap.numberOfTapsRequired = 2
806 | self.view.addGestureRecognizer(doubleTap )
807 | }
808 |
809 | @objc func tripleTapAction() {
810 | label.text = "Triple taped was recognized"
811 | }
812 | @objc func doubleTapAction() {
813 | label.text = "Double taped was recognized"
814 | }
815 | ```
816 |
817 | ---
818 |
819 | ### UIPageView
820 | [Пример использования](https://github.com/artemiosdev/Small-projects/tree/main/UIPageView/UIPageView).
821 |
822 | C его помощью можно сделать ознакомительный функционал ввиде некой презентации для пользователя который впервые скачал ваше приложение
823 |
824 | - [#UIPageViewController](https://developer.apple.com/documentation/uikit/uipageviewcontroller) - a container view controller that manages navigation between pages of content, where a child view controller manages each page
825 |
826 | - [#UIPageViewControllerDataSource](https://developer.apple.com/documentation/uikit/uipageviewcontrollerdatasource ) – протокол UIPageViewControllerDataSource принимается объектом, который предоставляет контроллеры просмотра контроллеру просмотра страницы по мере необходимости в ответ на жесты навигации.
827 |
828 | Благодаря ему будем листать нашу презентацию. С ним идут 2 обязательных для протокола метода (`viewControllerBefore` and `viewControllerAfter`, вперед и назад по презентации)
829 |
830 | ```swift
831 | extension PageViewController: UIPageViewControllerDataSource {
832 | // возврат к странице которая была до текущей (назад)
833 |
834 | func pageViewController(_ pageViewController: UIPageViewController,
835 | viewControllerBefore viewController: UIViewController) -> UIViewController? {
836 | var pageNumber = (viewController as! ContentViewController).currentPage
837 | pageNumber -= 1
838 | return showViewControllerAtIndex(pageNumber)
839 | }
840 |
841 | // переход к след странице после текущей (вперед)
842 | func pageViewController(_ pageViewController: UIPageViewController,
843 | viewControllerAfter viewController: UIViewController) -> UIViewController? {
844 | var pageNumber = (viewController as! ContentViewController).currentPage
845 | pageNumber += 1
846 | return showViewControllerAtIndex(pageNumber)
847 | }
848 | }
849 | ```
850 |
851 | - [#viewDidAppear(_:)](https://developer.apple.com/documentation/uikit/uiviewcontroller/1621423-viewdidappear) - уведомляет контроллер представления о том, что его представление было добавлено в иерархию представлений.
852 | ```swift
853 | // срабатывает сразу же после загрузки и отображения view
854 | override func viewDidAppear(_ animated: Bool) {
855 | super.viewDidAppear(animated)
856 | startPresentation()
857 | }
858 | ```
859 |
860 | - [class #UserDefaults](https://developer.apple.com/documentation/foundation/userdefaults) - интерфейс к базе данных пользователя по умолчанию, где вы постоянно сохраняете пары ключ-значение при запуске вашего приложения.
861 | - [#set(_:forKey:)](https://developer.apple.com/documentation/foundation/userdefaults/1408905-set) - sets the value of the specified default key to the specified Boolean value.
862 | - [#dismiss(animated:completion:)](https://developer.apple.com/documentation/uikit/uiviewcontroller/1621505-dismiss) - oтклоняет контроллер представления, который был представлен модально контроллером представления.
863 |
864 | ```swift
865 | @IBAction func closePresentation(_ sender: UIButton) {
866 | // создадим экземпляр class UserDefaults
867 | // некий ключ по которому будем закрывать презентацию
868 | let userDefaults = UserDefaults.standard
869 | userDefaults.set(true, forKey: "presentationWasViewed")
870 | // метод закрывающий view controller
871 | dismiss(animated: true, completion: nil)
872 | }
873 | ```
874 |
875 | - [#instantiateViewController(withIdentifier:)](https://developer.apple.com/documentation/uikit/uistoryboard/1616214-instantiateviewcontroller) - cоздает контроллер представления с указанным идентификатором и инициализирует его данными из раскадровки. На основе storyboard with identifier.
876 |
877 | - [#present(_:animated:completion:)](https://developer.apple.com/documentation/uikit/uiviewcontroller/1621380-present) - presents a view controller modally.
878 | ```swift
879 | func startPresentation() {
880 | let userDefaults = UserDefaults.standard
881 | // если key есть в системе, то будет true
882 | let presentationWasViewed = userDefaults.bool(forKey: "presentationWasViewed")
883 | if presentationWasViewed == false {
884 | // создаем нужный нам для отображения view controller
885 | if let pageViewPresentation = storyboard?.instantiateViewController(
886 | withIdentifier: "PageViewController") as? PageViewController {
887 | // используем инициализатор
888 | present(pageViewPresentation, animated: true, completion: nil)
889 | }
890 | }
891 | }
892 | ```
893 |
894 | - [#setViewControllers(_:direction:animated:completion:)](https://developer.apple.com/documentation/uikit/uipageviewcontroller/1614087-setviewcontrollers) - sets the view controllers to be displayed.
895 | ```swift
896 | override func viewDidLoad() {
897 | super.viewDidLoad()
898 | dataSource = self
899 | if let contentViewController = showViewControllerAtIndex(0) {
900 | // создает массив из view controllers
901 | setViewControllers([contentViewController], direction: .forward, animated: true, completion: nil)
902 | }
903 |
904 | }
905 | ```
906 |
907 |
--------------------------------------------------------------------------------
/images/AbstractFactory1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/AbstractFactory1.jpeg
--------------------------------------------------------------------------------
/images/AbstractFactory2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/AbstractFactory2.jpeg
--------------------------------------------------------------------------------
/images/Adapter.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Adapter.jpeg
--------------------------------------------------------------------------------
/images/App Icon Generator .jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/App Icon Generator .jpg
--------------------------------------------------------------------------------
/images/Bridge1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Bridge1.jpeg
--------------------------------------------------------------------------------
/images/Bridge2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Bridge2.jpeg
--------------------------------------------------------------------------------
/images/Builder1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Builder1.jpeg
--------------------------------------------------------------------------------
/images/Builder2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Builder2.jpeg
--------------------------------------------------------------------------------
/images/ChainOfResponsibility1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/ChainOfResponsibility1.jpeg
--------------------------------------------------------------------------------
/images/ChainOfResponsibility2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/ChainOfResponsibility2.jpeg
--------------------------------------------------------------------------------
/images/ChainOfResponsibility3.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/ChainOfResponsibility3.jpeg
--------------------------------------------------------------------------------
/images/ChainOfResponsibility4.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/ChainOfResponsibility4.jpeg
--------------------------------------------------------------------------------
/images/Command1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Command1.jpeg
--------------------------------------------------------------------------------
/images/Command2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Command2.jpeg
--------------------------------------------------------------------------------
/images/Command3.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Command3.jpeg
--------------------------------------------------------------------------------
/images/Commenting your functions.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Commenting your functions.jpg
--------------------------------------------------------------------------------
/images/Commenting your functions1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Commenting your functions1.jpg
--------------------------------------------------------------------------------
/images/Comparison operators.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Comparison operators.jpg
--------------------------------------------------------------------------------
/images/Comparison operators1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Comparison operators1.jpg
--------------------------------------------------------------------------------
/images/Composite1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Composite1.jpeg
--------------------------------------------------------------------------------
/images/Composite2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Composite2.jpeg
--------------------------------------------------------------------------------
/images/CoreDataStack2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/CoreDataStack2.jpg
--------------------------------------------------------------------------------
/images/Creating an Outlet or Action1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Creating an Outlet or Action1.jpg
--------------------------------------------------------------------------------
/images/Creating an Outlet or Action2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Creating an Outlet or Action2.jpg
--------------------------------------------------------------------------------
/images/Creating an Outlet or Action3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Creating an Outlet or Action3.jpg
--------------------------------------------------------------------------------
/images/Creating an Outlet or Action4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Creating an Outlet or Action4.jpg
--------------------------------------------------------------------------------
/images/Decorator1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Decorator1.jpeg
--------------------------------------------------------------------------------
/images/Decorator2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Decorator2.jpeg
--------------------------------------------------------------------------------
/images/Facade.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Facade.jpeg
--------------------------------------------------------------------------------
/images/FactoryMethod1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/FactoryMethod1.jpeg
--------------------------------------------------------------------------------
/images/FactoryMethod2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/FactoryMethod2.jpeg
--------------------------------------------------------------------------------
/images/Hello, World! В Terminal.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Hello, World! В Terminal.jpg
--------------------------------------------------------------------------------
/images/Iterator1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Iterator1.jpeg
--------------------------------------------------------------------------------
/images/Iterator2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Iterator2.jpeg
--------------------------------------------------------------------------------
/images/Markdown1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Markdown1.jpg
--------------------------------------------------------------------------------
/images/Markdown2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Markdown2.jpg
--------------------------------------------------------------------------------
/images/Memento1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Memento1.jpeg
--------------------------------------------------------------------------------
/images/Memento2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Memento2.jpeg
--------------------------------------------------------------------------------
/images/Memory 1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Memory 1.jpg
--------------------------------------------------------------------------------
/images/Memory 2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Memory 2.jpeg
--------------------------------------------------------------------------------
/images/Memory 3.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Memory 3.jpeg
--------------------------------------------------------------------------------
/images/Memory 4.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Memory 4.jpeg
--------------------------------------------------------------------------------
/images/Memory 5.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Memory 5.jpeg
--------------------------------------------------------------------------------
/images/Observer1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Observer1.jpeg
--------------------------------------------------------------------------------
/images/Observer2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Observer2.jpeg
--------------------------------------------------------------------------------
/images/Persistent Store Types.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Persistent Store Types.jpg
--------------------------------------------------------------------------------
/images/PersistentContainer.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/PersistentContainer.jpg
--------------------------------------------------------------------------------
/images/Proxy1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Proxy1.jpeg
--------------------------------------------------------------------------------
/images/Proxy2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Proxy2.jpeg
--------------------------------------------------------------------------------
/images/Proxy3.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Proxy3.jpeg
--------------------------------------------------------------------------------
/images/Rename an Outlet or Action1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Rename an Outlet or Action1.jpg
--------------------------------------------------------------------------------
/images/Sequence and Collection.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Sequence and Collection.jpg
--------------------------------------------------------------------------------
/images/Shift operations.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Shift operations.jpg
--------------------------------------------------------------------------------
/images/SimpleFactory1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/SimpleFactory1.jpeg
--------------------------------------------------------------------------------
/images/SimpleFactory2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/SimpleFactory2.jpeg
--------------------------------------------------------------------------------
/images/Singleton1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Singleton1.jpeg
--------------------------------------------------------------------------------
/images/Stack 1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Stack 1.jpg
--------------------------------------------------------------------------------
/images/State1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/State1.jpeg
--------------------------------------------------------------------------------
/images/State2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/State2.jpeg
--------------------------------------------------------------------------------
/images/Strategy1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Strategy1.jpeg
--------------------------------------------------------------------------------
/images/Strategy2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Strategy2.jpeg
--------------------------------------------------------------------------------
/images/TemplateMethod1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/TemplateMethod1.jpeg
--------------------------------------------------------------------------------
/images/TemplateMethod2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/TemplateMethod2.jpeg
--------------------------------------------------------------------------------
/images/Toolbar view.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Toolbar view.jpg
--------------------------------------------------------------------------------
/images/Triangular number.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Triangular number.jpg
--------------------------------------------------------------------------------
/images/UIKit classes.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/UIKit classes.jpg
--------------------------------------------------------------------------------
/images/Xcode interfaces 1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Xcode interfaces 1.jpg
--------------------------------------------------------------------------------
/images/Xcode interfaces 2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Xcode interfaces 2.jpg
--------------------------------------------------------------------------------
/images/Xcode interfaces 3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Xcode interfaces 3.jpg
--------------------------------------------------------------------------------
/images/Xcode interfaces 4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Xcode interfaces 4.jpg
--------------------------------------------------------------------------------
/images/api example.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/api example.jpg
--------------------------------------------------------------------------------
/images/api example2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/api example2.jpg
--------------------------------------------------------------------------------
/images/api example3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/api example3.jpg
--------------------------------------------------------------------------------
/images/arc1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/arc1.jpeg
--------------------------------------------------------------------------------
/images/arc2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/arc2.jpeg
--------------------------------------------------------------------------------
/images/arc3.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/arc3.jpeg
--------------------------------------------------------------------------------
/images/arc4.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/arc4.jpeg
--------------------------------------------------------------------------------
/images/arc5.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/arc5.jpeg
--------------------------------------------------------------------------------
/images/arc6.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/arc6.jpeg
--------------------------------------------------------------------------------
/images/arc7.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/arc7.jpeg
--------------------------------------------------------------------------------
/images/auto layout1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout1.jpeg
--------------------------------------------------------------------------------
/images/auto layout10.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout10.jpeg
--------------------------------------------------------------------------------
/images/auto layout100.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout100.jpeg
--------------------------------------------------------------------------------
/images/auto layout101.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout101.jpeg
--------------------------------------------------------------------------------
/images/auto layout102.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout102.jpeg
--------------------------------------------------------------------------------
/images/auto layout103.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout103.jpeg
--------------------------------------------------------------------------------
/images/auto layout104.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout104.jpeg
--------------------------------------------------------------------------------
/images/auto layout105.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout105.jpeg
--------------------------------------------------------------------------------
/images/auto layout106.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout106.jpeg
--------------------------------------------------------------------------------
/images/auto layout107.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout107.jpeg
--------------------------------------------------------------------------------
/images/auto layout108.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout108.jpeg
--------------------------------------------------------------------------------
/images/auto layout109.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout109.jpeg
--------------------------------------------------------------------------------
/images/auto layout11.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout11.jpeg
--------------------------------------------------------------------------------
/images/auto layout110.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout110.jpeg
--------------------------------------------------------------------------------
/images/auto layout12.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout12.jpeg
--------------------------------------------------------------------------------
/images/auto layout13.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout13.jpeg
--------------------------------------------------------------------------------
/images/auto layout14.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout14.jpeg
--------------------------------------------------------------------------------
/images/auto layout15.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout15.jpeg
--------------------------------------------------------------------------------
/images/auto layout16.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout16.jpeg
--------------------------------------------------------------------------------
/images/auto layout17.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout17.jpeg
--------------------------------------------------------------------------------
/images/auto layout18.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout18.jpeg
--------------------------------------------------------------------------------
/images/auto layout19.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout19.jpeg
--------------------------------------------------------------------------------
/images/auto layout2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout2.jpeg
--------------------------------------------------------------------------------
/images/auto layout20.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout20.jpeg
--------------------------------------------------------------------------------
/images/auto layout21.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout21.jpeg
--------------------------------------------------------------------------------
/images/auto layout22.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout22.jpeg
--------------------------------------------------------------------------------
/images/auto layout23.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout23.jpeg
--------------------------------------------------------------------------------
/images/auto layout25.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout25.jpeg
--------------------------------------------------------------------------------
/images/auto layout26.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout26.jpeg
--------------------------------------------------------------------------------
/images/auto layout27.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout27.jpeg
--------------------------------------------------------------------------------
/images/auto layout28.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout28.jpeg
--------------------------------------------------------------------------------
/images/auto layout29.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout29.jpeg
--------------------------------------------------------------------------------
/images/auto layout3.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout3.jpeg
--------------------------------------------------------------------------------
/images/auto layout30.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout30.jpeg
--------------------------------------------------------------------------------
/images/auto layout31.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout31.jpeg
--------------------------------------------------------------------------------
/images/auto layout32.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout32.jpeg
--------------------------------------------------------------------------------
/images/auto layout33.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout33.jpeg
--------------------------------------------------------------------------------
/images/auto layout34.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout34.jpeg
--------------------------------------------------------------------------------
/images/auto layout35.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout35.jpeg
--------------------------------------------------------------------------------
/images/auto layout36.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout36.jpeg
--------------------------------------------------------------------------------
/images/auto layout37.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout37.jpeg
--------------------------------------------------------------------------------
/images/auto layout38.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout38.jpeg
--------------------------------------------------------------------------------
/images/auto layout39.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout39.jpeg
--------------------------------------------------------------------------------
/images/auto layout4.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout4.jpeg
--------------------------------------------------------------------------------
/images/auto layout40.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout40.jpeg
--------------------------------------------------------------------------------
/images/auto layout41.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout41.jpeg
--------------------------------------------------------------------------------
/images/auto layout42.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout42.jpeg
--------------------------------------------------------------------------------
/images/auto layout43.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout43.jpeg
--------------------------------------------------------------------------------
/images/auto layout44.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout44.jpeg
--------------------------------------------------------------------------------
/images/auto layout45.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout45.jpeg
--------------------------------------------------------------------------------
/images/auto layout46.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout46.jpeg
--------------------------------------------------------------------------------
/images/auto layout47.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout47.jpeg
--------------------------------------------------------------------------------
/images/auto layout48.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout48.jpeg
--------------------------------------------------------------------------------
/images/auto layout49.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout49.jpeg
--------------------------------------------------------------------------------
/images/auto layout5.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout5.jpeg
--------------------------------------------------------------------------------
/images/auto layout50.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout50.jpeg
--------------------------------------------------------------------------------
/images/auto layout51.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout51.jpeg
--------------------------------------------------------------------------------
/images/auto layout52.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout52.jpeg
--------------------------------------------------------------------------------
/images/auto layout53.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout53.jpeg
--------------------------------------------------------------------------------
/images/auto layout54.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout54.jpeg
--------------------------------------------------------------------------------
/images/auto layout55.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout55.jpeg
--------------------------------------------------------------------------------
/images/auto layout56.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout56.jpeg
--------------------------------------------------------------------------------
/images/auto layout57.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout57.jpeg
--------------------------------------------------------------------------------
/images/auto layout58.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout58.jpeg
--------------------------------------------------------------------------------
/images/auto layout59.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout59.jpeg
--------------------------------------------------------------------------------
/images/auto layout6.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout6.jpeg
--------------------------------------------------------------------------------
/images/auto layout60.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout60.jpeg
--------------------------------------------------------------------------------
/images/auto layout61.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout61.jpeg
--------------------------------------------------------------------------------
/images/auto layout62.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout62.jpeg
--------------------------------------------------------------------------------
/images/auto layout63.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout63.jpeg
--------------------------------------------------------------------------------
/images/auto layout64.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout64.jpeg
--------------------------------------------------------------------------------
/images/auto layout65.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout65.jpeg
--------------------------------------------------------------------------------
/images/auto layout66.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout66.jpeg
--------------------------------------------------------------------------------
/images/auto layout67.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout67.jpeg
--------------------------------------------------------------------------------
/images/auto layout68.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout68.jpeg
--------------------------------------------------------------------------------
/images/auto layout69.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout69.jpeg
--------------------------------------------------------------------------------
/images/auto layout7.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout7.jpeg
--------------------------------------------------------------------------------
/images/auto layout70.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout70.jpeg
--------------------------------------------------------------------------------
/images/auto layout71.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout71.jpeg
--------------------------------------------------------------------------------
/images/auto layout72.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout72.jpeg
--------------------------------------------------------------------------------
/images/auto layout73.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout73.jpeg
--------------------------------------------------------------------------------
/images/auto layout74.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout74.jpeg
--------------------------------------------------------------------------------
/images/auto layout75.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout75.jpeg
--------------------------------------------------------------------------------
/images/auto layout77.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout77.jpeg
--------------------------------------------------------------------------------
/images/auto layout78.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout78.jpeg
--------------------------------------------------------------------------------
/images/auto layout79.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout79.jpeg
--------------------------------------------------------------------------------
/images/auto layout8.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout8.jpeg
--------------------------------------------------------------------------------
/images/auto layout80.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout80.jpeg
--------------------------------------------------------------------------------
/images/auto layout81.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout81.jpeg
--------------------------------------------------------------------------------
/images/auto layout82.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout82.jpeg
--------------------------------------------------------------------------------
/images/auto layout83.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout83.jpeg
--------------------------------------------------------------------------------
/images/auto layout84.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout84.jpeg
--------------------------------------------------------------------------------
/images/auto layout85.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout85.jpeg
--------------------------------------------------------------------------------
/images/auto layout86.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout86.jpeg
--------------------------------------------------------------------------------
/images/auto layout87.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout87.jpeg
--------------------------------------------------------------------------------
/images/auto layout88.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout88.jpeg
--------------------------------------------------------------------------------
/images/auto layout89.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout89.jpeg
--------------------------------------------------------------------------------
/images/auto layout9.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout9.jpeg
--------------------------------------------------------------------------------
/images/auto layout90.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout90.jpeg
--------------------------------------------------------------------------------
/images/auto layout91.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout91.jpeg
--------------------------------------------------------------------------------
/images/auto layout92.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout92.jpeg
--------------------------------------------------------------------------------
/images/auto layout93.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout93.jpeg
--------------------------------------------------------------------------------
/images/auto layout94.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout94.jpeg
--------------------------------------------------------------------------------
/images/auto layout95.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout95.jpeg
--------------------------------------------------------------------------------
/images/auto layout96.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout96.jpeg
--------------------------------------------------------------------------------
/images/auto layout97.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout97.jpeg
--------------------------------------------------------------------------------
/images/auto layout98.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout98.jpeg
--------------------------------------------------------------------------------
/images/auto layout99.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/auto layout99.jpeg
--------------------------------------------------------------------------------
/images/classes var reference.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/classes var reference.jpg
--------------------------------------------------------------------------------
/images/coredata.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/coredata.jpg
--------------------------------------------------------------------------------
/images/coredata1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/coredata1.jpg
--------------------------------------------------------------------------------
/images/entity.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/entity.jpg
--------------------------------------------------------------------------------
/images/escape character.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/escape character.jpg
--------------------------------------------------------------------------------
/images/example continue operation1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/example continue operation1.jpg
--------------------------------------------------------------------------------
/images/example continue operation2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/example continue operation2.jpg
--------------------------------------------------------------------------------
/images/example continue operation3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/example continue operation3.jpg
--------------------------------------------------------------------------------
/images/gcd1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd1.jpg
--------------------------------------------------------------------------------
/images/gcd10.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd10.jpg
--------------------------------------------------------------------------------
/images/gcd11.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd11.jpg
--------------------------------------------------------------------------------
/images/gcd12.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd12.jpg
--------------------------------------------------------------------------------
/images/gcd13.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd13.jpg
--------------------------------------------------------------------------------
/images/gcd14.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd14.jpg
--------------------------------------------------------------------------------
/images/gcd15.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd15.jpg
--------------------------------------------------------------------------------
/images/gcd16.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd16.jpg
--------------------------------------------------------------------------------
/images/gcd17.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd17.jpg
--------------------------------------------------------------------------------
/images/gcd18.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd18.jpg
--------------------------------------------------------------------------------
/images/gcd19.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd19.jpg
--------------------------------------------------------------------------------
/images/gcd2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd2.jpg
--------------------------------------------------------------------------------
/images/gcd20.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd20.jpg
--------------------------------------------------------------------------------
/images/gcd21.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd21.jpg
--------------------------------------------------------------------------------
/images/gcd22.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd22.jpg
--------------------------------------------------------------------------------
/images/gcd23.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd23.jpg
--------------------------------------------------------------------------------
/images/gcd24.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd24.jpg
--------------------------------------------------------------------------------
/images/gcd25.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd25.jpg
--------------------------------------------------------------------------------
/images/gcd26.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd26.jpg
--------------------------------------------------------------------------------
/images/gcd27.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd27.jpg
--------------------------------------------------------------------------------
/images/gcd28.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd28.jpg
--------------------------------------------------------------------------------
/images/gcd29.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd29.jpg
--------------------------------------------------------------------------------
/images/gcd3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd3.jpg
--------------------------------------------------------------------------------
/images/gcd4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd4.jpg
--------------------------------------------------------------------------------
/images/gcd5.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd5.jpg
--------------------------------------------------------------------------------
/images/gcd6.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd6.jpg
--------------------------------------------------------------------------------
/images/gcd7.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd7.jpg
--------------------------------------------------------------------------------
/images/gcd8.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd8.jpg
--------------------------------------------------------------------------------
/images/gcd9.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/gcd9.jpg
--------------------------------------------------------------------------------
/images/hierarchy initialized.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/hierarchy initialized.jpg
--------------------------------------------------------------------------------
/images/iPhone 14 Pro Max.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/iPhone 14 Pro Max.jpeg
--------------------------------------------------------------------------------
/images/iPhone 14.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/iPhone 14.jpeg
--------------------------------------------------------------------------------
/images/memoryLeaks.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/memoryLeaks.jpeg
--------------------------------------------------------------------------------
/images/mvc1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/mvc1.jpeg
--------------------------------------------------------------------------------
/images/mvc2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/mvc2.jpeg
--------------------------------------------------------------------------------
/images/mvc3.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/mvc3.jpeg
--------------------------------------------------------------------------------
/images/mvc4.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/mvc4.jpeg
--------------------------------------------------------------------------------
/images/mvvm1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/mvvm1.jpeg
--------------------------------------------------------------------------------
/images/mvvm2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/mvvm2.jpeg
--------------------------------------------------------------------------------
/images/mvvm3.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/mvvm3.jpeg
--------------------------------------------------------------------------------
/images/protocols by Int.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/protocols by Int.jpg
--------------------------------------------------------------------------------
/images/protocols by Int2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/protocols by Int2.jpg
--------------------------------------------------------------------------------
/images/reference and value type.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/reference and value type.jpg
--------------------------------------------------------------------------------
/images/solveMemoryLeaks.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/solveMemoryLeaks.jpeg
--------------------------------------------------------------------------------
/images/stack and heap.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/stack and heap.jpg
--------------------------------------------------------------------------------
/images/stack-heap.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/stack-heap.jpg
--------------------------------------------------------------------------------
/images/stackAndHeap.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/stackAndHeap.jpg
--------------------------------------------------------------------------------
/images/stackAndHeap2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/stackAndHeap2.jpg
--------------------------------------------------------------------------------
/images/stackAndHeap3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/stackAndHeap3.jpg
--------------------------------------------------------------------------------
/images/struct var value.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/struct var value.jpg
--------------------------------------------------------------------------------
/images/type links.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/type links.jpeg
--------------------------------------------------------------------------------
/images/view xcode.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/view xcode.jpg
--------------------------------------------------------------------------------
/images/Консольная игра Угадай число.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Консольная игра Угадай число.jpg
--------------------------------------------------------------------------------
/images/Область видимости.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Область видимости.jpg
--------------------------------------------------------------------------------
/images/Отношения между инициализаторами.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Отношения между инициализаторами.jpg
--------------------------------------------------------------------------------
/images/Память.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Память.jpg
--------------------------------------------------------------------------------
/images/Последовательности Sequence.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Последовательности Sequence.jpg
--------------------------------------------------------------------------------
/images/СoreDataStack1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/СoreDataStack1.jpg
--------------------------------------------------------------------------------
/images/СоздатьХранилище с именами.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/СоздатьХранилище с именами.jpg
--------------------------------------------------------------------------------
/images/Тип данных Float.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Тип данных Float.jpg
--------------------------------------------------------------------------------
/images/Тип данных Int.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Тип данных Int.jpg
--------------------------------------------------------------------------------
/images/Типы данных.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/Типы данных.jpg
--------------------------------------------------------------------------------
/images/множественное наследование с протоколами.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/множественное наследование с протоколами.jpg
--------------------------------------------------------------------------------
/images/нижним подчеркиванием _ .jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/нижним подчеркиванием _ .jpg
--------------------------------------------------------------------------------
/images/оперативная память.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/оперативная память.jpg
--------------------------------------------------------------------------------
/images/операции с множествами.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/операции с множествами.jpg
--------------------------------------------------------------------------------
/images/отображение элементов.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/отображение элементов.jpg
--------------------------------------------------------------------------------
/images/ошибки в числах с плавающей точкой.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/ошибки в числах с плавающей точкой.jpg
--------------------------------------------------------------------------------
/images/паттерны1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/паттерны1.jpeg
--------------------------------------------------------------------------------
/images/паттерны2.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/паттерны2.jpeg
--------------------------------------------------------------------------------
/images/пример error.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/пример error.jpg
--------------------------------------------------------------------------------
/images/протокол1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/протокол1.jpeg
--------------------------------------------------------------------------------
/images/размеры изображений в 1x, 2x и 3x .jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/размеры изображений в 1x, 2x и 3x .jpg
--------------------------------------------------------------------------------
/images/уровни памяти и взаимодействия.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/уровни памяти и взаимодействия.jpg
--------------------------------------------------------------------------------
/images/цикличные ссылки.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/цикличные ссылки.jpeg
--------------------------------------------------------------------------------
/images/цикличные ссылки1.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/artemiosdev/Swift-Manual-my-notes/e4ab71de34013ec76954f17e817cf1ab6b7ff97b/images/цикличные ссылки1.jpeg
--------------------------------------------------------------------------------