0% found this document useful (0 votes)
13 views

Lecture01 - Intro, Overview, MVC, Code Vs UI

This document provides an introduction and overview of Apple's iOS mobile technologies. It recommends courses for learning Swift and iOS development, including a Stanford course on developing iOS 9 apps with Swift. It outlines requirements like programming experience in OOP and with Xcode. It also describes the core components of iOS like the OSX kernel, media frameworks, Cocoa Touch, and using Swift as the main programming language. It introduces MVC design patterns and how to connect the user interface with code using outlets and actions.

Uploaded by

Arbnor Halili
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views

Lecture01 - Intro, Overview, MVC, Code Vs UI

This document provides an introduction and overview of Apple's iOS mobile technologies. It recommends courses for learning Swift and iOS development, including a Stanford course on developing iOS 9 apps with Swift. It outlines requirements like programming experience in OOP and with Xcode. It also describes the core components of iOS like the OSX kernel, media frameworks, Cocoa Touch, and using Swift as the main programming language. It introduces MVC design patterns and how to connect the user interface with code using outlets and actions.

Uploaded by

Arbnor Halili
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 10

Introduction to Apple

mobile technologies-
I393
IT College, Andres Käver, 2016-2017 Spring
Web: http://enos.itcollege.ee/~akaver/apple
Skype: akaver Email: akaver@itcollege.ee
iOS 2

 Recommended iTunes course (already old, uses Xcode 7 and Swift 2)


 Developing iOS 9 Apps with Swift – by Stanford
 https://itunes.apple.com/ee/course/developing-ios-9-apps-swift/id1104579961
 https://www.youtube.com/channel/UCYVp6suz7ztKAKY8jpfACXA/videos?
flow=grid&view=0&sort=da
 Home reading
 The Swift Programming Language
 https://developer.apple.com
/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/
iOS 3

 Requirements
 Programming experience – java, databases, algorithms
 OOP
 Class, Instance, Superclass/Subclass
 Message, Method
 Protocol (interface)
 Reference vs Value types, Instance variable
 Closures...
iOS 4

 Requirements
 Latest Xcode (8.2.1)
 IT College class 320 – limited access
 Or macOS based computer (ca be rented from Apple resellers)
 Or virtualized macOS (slow, but works)
 Or rented virtual access
 http://www.macincloud.com/ ($20+ month)
 HostMyApple, MacStadium, vmOSX, Xcloud, Xcodeclub, …
iOS 5

 What’s in iOS
 Core OS
 OSX Kernel, Mach 3, BSD, Sockets, Security, Power Management, Keychain Access,
Certificates, File System, Bonjour
 Core Services
 Collections, Address Book, Networking, File Access, SQLite, Core Location, Net Services,
Threading, Preferences, URL Utilities
 Media
 Core Audio, OpenAL, Audio Mixing, Audio Recording, Video Playback, Images, PDF, Quartz,
Core Animation, OpenGL ES
 Cocoa Touch
 Multi-Touch, Core Motion, View Hierarchy, Localization, Controls, Alerts, WebView, Map Kit,
Image Picker, Camera
iOS - Swift 6

 Latest language in development scene (released in autumn 2014)


 Current version is 3 (released in sept 13, 2016 - not source compatible with Swift
2.2!!!)
 You can mix it with older Apple language of choice – Objective C
 Language is open source
 https://swift.org
iOS - Swift 7

 Mandatory reading – a Swift tour


 https://
developer.apple.com/library/prerelease/content/documentation/Swift/Conceptual/Swift_Progr
amming_Language/GuidedTour.html
iOS - MVC 8

 All iOS development is MVC based!


 Model – data and business logic
 View – UI
 Controller – the glue between View and Model
 Controller can directly control Model and View (Outlet)
 Model and View never communicate with each other
 View communicates with controller via
 Action
 Outlet
 Delegate (should, will, did) – property in view using protocol
 Data source – protocol
 Model communicates via broadcasts – notifications & KVO – Key Value
Observing
iOS – connecting UI and code 9

 Open up Assistant editor


(click double rings in upper right corner)
 Hold ctrl key and drag with your mouse
from UI element to code
 Choose type for connection: Outlet or Action
 Action – UI calls into code (buttons)
 Outlet – code updates UI (labels)
iOS 10

 Demo and some hands-on!

You might also like