Лекция 2 CS193P Winter 2015 — Больше Xcode и Swift, MVC. (часть 1)

Title iOS 8

STANFORD UNIVERSITY: Разработка iOS 8 приложений с Swift CS193P

 Лекция 2: Больше Xcode и Swift

Профессор Пол Хэгарти (Paul Hegarty)

Лекцию на английском языке и слайды можно найти на  iTunes название “2. More Xcode and Swift, MVC”.

Русскоязычный неавторизованный конспект лекции приводится ниже.

Вы также можете читать PDF-файл конспекта и использовать его offline

Лекция 2 CS193P Winter 2015 iOS 8 .pdf

Начало: 1 — ая часть лекции (0 — 30 минут) — код для этой части на GitHub.

Продолжение: 2 — ая часть лекции (30 минута — 45 минута) здесь.

Продолжение: 3 — ая часть лекции (45 минута — конец) здесь.

Это лекция номер 2 и у нас две основные темы.

  • Продолжение демонстрационного примера Calculator, начатого на прошлой лекции
  • Паттерн объектно — ориентированного конструирования MVC, который мы будем использовать во всем, что будем делать на этом курсе при построении приложений

Читать далее

Лекция 1 CS193P Winter 2015 — Логистика курса, обзор iOS 8. (часть 2)

Title iOS 8

STANFORD UNIVERSITY:

Разработка iOS 8 приложений с Swift CS193P

 Лекция 1: Логистика курса, обзор iOS 8

Профессор Пол Хэгарти (Paul Hegarty)

Начало: 1 — ая часть лекции (0 — 35 минут) можно найти здесь.

Продолжение: 2 -я часть лекции (35 минута  — конец).

Давайте немного поговорим о связи пользовательского интерфейса, который мы только что создали, с нашим кодом. Мы хотим, чтобы код имел возможность «разговаривать» с пользовательским интерфейсом. Иначе как мы заставим цифры на кнопках, которые мы нажимаем при наборе числа»,  появиться на нашем дисплее, или как нам получить результат умножения, если мы нажали кнопку с заголовком «x»? Нам нужно научиться разговаривать с нашем интерфейсом.

Как мы будем это делать? Во-первых, нам нужно, чтобы и код ( файл ViewController.swift ), и интерфейс (файл Main.storyboard) появились на экране в Xcode одновременно, так как мы собираемся их связывать.

Читать далее

Лекция 1 CS193P Winter 2015 — Логистика курса, обзор iOS 8. (часть 1)

Title iOS 8

Как всегда ежегодная Лекция 1 — это общее введение в курс и обзор iOS, MVC и на этот раз Swift.

… и опять Paul Hegarty подчеркивает важность знакомства с объектно-ориентированным программирование как обязательное требование к курсу. Этот курс не для начинающих.

В обзоре iOS  Paul Hegarty кратко объясняет различные слои  iOS. Начиная с

  • core OS, которое включает ядро, файловую систему, управление питанием, безопасность, C-API, …
  • core services, которые обеспечивают основную функциональность core location, SQLite, доступ к файлам, многопоточность, …
  • media слой с core audio, OpenGL, ES, Quartz, …
  • слой cocoa touch, обеспечивающий технологию multi touch, map kit, управление камерой, controls, core motion, localization, иерархию views , …

    Вторая часть лекции посвящена демонстрации, показывающей:

  • создание проектов в Xcode,
  • построение пользовательского интерфейса с использованием Autolayout,
  • запуск приложения на iOS симуляторе,
  • использование println как отладочный аналог log и его  \( )  нотации для показа содержимого переменных,
  • определение класса в Swift и задание переменных экземпляра класса (instance variables) и методов,
  • привязка свойств ( properties )– instance variables – из Swift кода к outlets пользовательского интерфейса,
  • привязка элементов пользовательского интерфейса к методам в  Swift-code через actions,
  • доступ к  iOS документации,
  • концепция optionals – ?, явное развертывание (unwrapping implicitly) с помощью декларирования с ! и использования   if let

Лекция и слайды (английский язык) как всегда доступны на  iTunes название “1. Logistics, Overview of iOS”.

Русский неавторизованный  конспект Лекции 1 приводится ниже.

Вы также можете читать  PDF-файл конспекта и использовать его offline

Лекция 1 CS193P Winter 2015 iOS 8 .pdf

STANFORD UNIVERSITY: Разработка iOS 8 приложений с Swift CS193P

 Лекция 1: Логистика курса, обзор iOS 8

Профессор Пол Хэгарти (Paul Hegarty)

Русскоязычный неавторизованный конспект лекций принадлежит сайту bestkora.com/IosDeveloper

Начало: 1 — ая часть лекции (0 — 35 минут)
Продолжение: 2 — ая часть лекции (35 минута — конец) находится здесь.

Добро пожаловать на курс CS193P Winter 2015. Это лекция номер 1.

Я немного расскажу о чем этот курс. Дам короткое упоминание о требованиях для этого курса, что очень важно. Затем быстрый обзор составных частей iOS. Я думаю большинство людей знают о чем этот курс. Мы собираемся окунуться в большой демонстрационный пример ( это старый демонстрационный пример), которому я хочу посвятить 2 дня. В течение этих двух дней я введу вас в среду разработки Xcode и язык программирования Swift, который вы должны выучить для разработки на iOS.

Читать далее

Stanford CS 193P iOS 7 Лекция 12 — Documents и Core Data

 Лекция 12 целиком теоретическая и посвящена Core Data.

Начинается с создания Data Model для простейшей задачи с двумя сущностями: Photo и Photographer. Определяются их атрибуты и взаимосвязи. На основе визуальной карты базы данных создаются классы для ManagedObjects: Photo  и Photographer, которые функционируют в контексте ManagedObjectsContext.

Задача получения текущего контекста ManagedObjectsContext решается не традиционным способом через шаблон Core Data ( при создании проекта поставить «галочку»), который выдает кучу кода в AppDelegate.swift, большая часть которого посвящена созданию стэка Core Data, а через UIManagedDocument, который берет на себя все проблемы с созданием стэка Core Data, в том числе ManagedObjectsContext, с безопасностью многопотоковой обработки и т.д. Кроме того, это самый короткий способ перехода к  iCloud.

Рассматривается способ синхронизации множества контекстов ManagedObjectsContexts, указывающих на одну и ту же базу данных, через Notifications.

Создание  subclasses ManagedObjects с помощью Xcode на основе визуальной карты базы данных и использование «точечной нотации» доступа к свойствам, а также наполнение этих  subclasses пользовательскими (custom) методами  через механизм «категорий» ( categories)

Вставка  ManagedObjects, изменение атрибутов, удаление и запросы.

«Дескрипторы сортировки», «маленький язык» предикатов, составные предикаты, использование агрегатных функций KVC (Key Value Coding).

Выполнение запросов и результаты выборки. Faulting.

 Саму лекцию, а также ее слайды на английском языке можно получить через iTunes с названием “12. Documents and Core Data”.

Русский неавторизованный конспект лекции 12, хронометрированный через каждые 5 минут, представлен в PDF — файлах.

Лекция 12 CS193P Fall 2013 -Winter 2014.pdf

Stanford CS 193P iOS 7 Лекция 11 — UITableView и iPad (UISplitViewController, Popover)

Screen Shot 2015-02-17 at 11.19.32 PM

 Лекция 11 начинается с введения в TableView, ее стилей и элементов, с того, как заполняются ее ячейки путем «закачки» данных ( data sources), как пользователь может взаимодействовать с этой таблицей с помощью делегатов ( delegate ). Рассматриваются  replace и push segues, а также table spinners для refresh control.

Вторая теоретическая часть посвящена созданию универсальных (universal) приложений с добавлением отдельной storyboard и функциональности для iPad, а также специфических для iPad Сontrollers таких, как UISpliViewController и Popovers.

Практическая часть лекции демонстрирует как строится универсальное приложение с использованием  TableViewController и NavigationСontroller для iPhone и с использованием TableViewController и UISplitViewController для iPad. Хотя методы делегата UISplitViewController считаются самыми трудоемкими и обременительными во всем iOS, профессор нашел хитроумный способ как сделать их легкими и понятными. Универсальное приложение связано с просмотром фотографий с Flickr. Поэтому в конце лекции профессор Пол Хэгарти показывает другой способ получения данных с сервера Flickr путем создания собственной очереди и возвращения в main queue при работе с UI, используя  GCD или Grand Central Dispatch. Это более изящный способ, чем URL session, обсуждаемая в предыдущих лекциях.

Код для демонстрационного примера Shutterbug этой лекции доступен  здесь

 Саму лекцию, а также ее слайды можно получить через iTunes с названием “11. Table View and iPad”.

Русский неавторизованный конспект лекции 11 представлен в PDF файлах:

Лекция 11 CS193P Fall 2013 -Winter 2014 1.pdf (0 - 10 минута)

Лекция 11 CS193P Fall 2013 -Winter 2014 2.pdf ( 10 - 20 минута)

Лекция 11 CS193P Fall 2013 -Winter 2014 3.pdf ( 20 - 30 минута)

Лекция 11 CS193P Fall 2013 -Winter 2014 4.pdf ( 30 - 40 минута)

Лекция 11 CS193P Fall 2013 -Winter 2014 5.pdf ( 40 - 60 минута)

Лекция 11 CS193P Fall 2013 -Winter 2014 6.pdf ( 60 минута - конец)

Stanford CS 193P iOS 7 Лекция 10 — Блоки, Многопоточность, Scroll View

Лекция 10 начинается с введение в многопоточность, при этом уделяется  особое внимание тому, как блоки ставятся в очередь (которые затем выполняются на разных потоках) и как запустить длительные по времени задачи без блокировки пользовательского интерфейса  ( UI ) . iOS поддерживает различные APIs – если предыдущие версии этого курса делали акцент на API низкого C уровня, то в этом году появилось Objective-C API и последний в данном курсе предпочтителен.

Вторая часть теории посвящается Scroll Views, как их создать, как добиться скроллинга и zooming (изменения масштаба).

Оставшаяся часть лекции посвящена демонстрационному примеру, который покрывает обе теоретические части: многопоточность и  Scroll Views.

Код демонстрационного примера  «Imaginarium» для этой лекции можно найти на сайте здесь.

Лекция и слайда (английский язык) доступна на  iTunes название “10. Multithreading, Scroll View”.

Русский неавторизованный  конспект Лекции 10, хронометрированный через каждые 5 минут, доступен на

Лекция 10 CS193P Fall 2013 -Winter 2014 1.pdf

Лекция 10 CS193P Fall 2013 -Winter 2014 2.pdf

Лекция 10 CS193P Fall 2013 -Winter 2014 3.pdf

Лекция 10 CS193P Fall 2013 -Winter 2014 4.pdf