├── .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 | image 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 --------------------------------------------------------------------------------