Tables. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder

Size: px
Start display at page:

Download "Tables. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder"

Transcription

1 Tables Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Mobile Application Development in ios 1

2 Outline Table View Controller Table View Table Cells Cell interaction Navigation Mobile Application Development in ios 2

3 Table View Controller 2. Create Cocoa Touch Class inheriting from UITableViewController. 3. Assign new class to Table View Controller. 1. Add Table View Controller to Storyboard. Mobile Application Development in ios 3

4 Table View Attributes TableView Content: Static Multiple sections Fixed number of cells Design each cell individually Mobile Application Development in ios 4

5 Table View Attributes TableView Content: Dynamic One section Variable number of cells Design cell prototypes Mobile Application Development in ios 5

6 Table Cell Styles Table cell styles Basic Right detail Left detail Subtitle Custom Mobile Application Development in ios 6

7 Delegate and Data Source UITableViewDelegate protocol Configuring table Handling table interaction UITableViewDataSource Source for each row's data func tableview(_ tableview: UITableView, cellforrowat indexpath: IndexPath) -> UITableViewCell Handling insertion and deletion Mobile Application Development in ios 7

8 Delegate and Data Source Automatic connection for Table View Controller Mobile Application Development in ios 8

9 Custom Cells: Step 1 Create custom class extending UITableViewCell Initialize and configure defaults as needed class TripCell: UITableViewCell { override func awakefromnib() { super.awakefromnib() // Initialization code override func setselected(_ selected: Bool, animated: Bool) { super.setselected(selected, animated: animated) // Configure the view for the selected state Mobile Application Development in ios 9

10 Custom Cells: Step 2 Create custom table view prototype cell on Storyboard Set Identifier Set Custom Class to class from Step 1 Mobile Application Development in ios 10

11 Custom Cells: Step 3 Connect cell elements to cell class Mobile Application Development in ios 11

12 Custom Cells: Step 4 Configure cells in UITableViewController class TableViewController: UITableViewController { //... override func tableview(_ tableview: UITableView, cellforrowat indexpath: IndexPath) -> UITableViewCell { let cell = tableview.dequeuereusablecell(withidentifier: "tripcell", for: indexpath) as! TripCell cell.tripimage.image = UIImage(named: "kauai.jpg") cell.triplabel.text = "Kauai" return cell Mobile Application Development in ios 12

13 Navigation Embed in Navigation Controller Create views for Detail and Add Create segue to Detail View Perform when row/accessory selected From View, not row Create Add bar button Create segue from Add button to Add View Mobile Application Development in ios 13

14 Cell Interaction: Selection Row Selection override func tableview(_ tableview: UITableView, didselectrowat indexpath: IndexPath) { self.selectedrow = indexpath.row // retain for prepareforsegue performsegue(withidentifier: "todetail", sender: nil) Accessory Selection (only for Detail ) override func tableview(_ tableview: UITableView, accessorybuttontappedforrowwith indexpath: IndexPath) { self.selectedrow = indexpath.row // retain for prepareforsegue performsegue(withidentifier: "todetail", sender: nil) Mobile Application Development in ios 14

15 Cell Interaction: Deletion // Override to support conditional editing of the table view. override func tableview(_ tableview: UITableView, caneditrowat indexpath: IndexPath) -> Bool { // Return false if you do not want the specified item to be editable. return true // Override to support editing the table view. override func tableview(_ tableview: UITableView, commit editingstyle: UITableViewCellEditingStyle, forrowat indexpath: IndexPath) { if editingstyle ==.delete { // Delete the row from the data source first trips.remove(at: indexpath.row) tableview.deleterows(at: [indexpath], with:.fade) Mobile Application Development in ios 15

16 Insertion In AddViewController.swift Maintain Bool indicating new entry ready Save button sets Bool=true and performs unwind segue class AddViewController: UIViewController, UITextFieldDelegate { var newtripready: Bool = weak var nametextfield: func savetapped(_ sender: UIBarButtonItem) { newtripready = true performsegue(withidentifier: "unwindfromadd", sender: nil) //... Mobile Application Development in ios 16

17 Insertion (cont.) In TableViewController.swift In unwind segue Check if new entry ready If so, create new data instance, add to array, and reload func unwindfromadd (segue: UIStoryboardSegue) { let addvc = segue.source as! AddViewController if (addvc.newtripready) { let name = addvc.nametextfield.text! trips.append(name) self.tableview.reloaddata() Mobile Application Development in ios 17

18 Adding Table View to Existing View Set Delegate and Data Source Mobile Application Development in ios 18

19 Set Delegate and Data Source Programmatically Conform view controller to UITableViewDelegate and UITableViewDataSource protocols Create outlet connection to table view Set table view delegate and datasource to self class ViewController: UIViewController, UITableViewDelegate, UITableViewDataSource weak var triptable: UITableView! override func viewdidload() { super.viewdidload() // Do any additional setup after loading the view. triptable.delegate = self triptable.datasource = self Mobile Application Development in ios 19

20 Resources Start Developing ios Apps (good Tables tutorial) developer.apple.com/library/content/referencelibrary /GettingStarted/DevelopiOSAppsSwift UITableViewController (documentation) developer.apple.com/documentation/uikit/uitablevie wcontroller Mobile Application Development in ios 20

ITP 342 Mobile App Dev. Table Views

ITP 342 Mobile App Dev. Table Views ITP 342 Mobile App Dev Table Views Tables A table presents data as a scrolling, singlecolumn list of rows that can be divided into sections or groups. Use a table to display large or small amounts of information

More information

Chapter 22 TableView TableView. TableView ios. ViewController. Cell TableViewCell TableView

Chapter 22 TableView TableView. TableView ios. ViewController. Cell TableViewCell TableView Chapter 22 TableView TableView Android TableView ListView App 22.1 TableView TableView Storyboard Table View ViewController TableView ios Cell TableViewCell TableView Table View Cell Cell ImageView (imageview)

More information

ITP 342 Mobile App Dev. Table Views

ITP 342 Mobile App Dev. Table Views ITP 342 Mobile App Dev Table Views Table Views The most common mechanism used to display lists of data to the user Highly configurable objects that can be made to look practically any way you want them

More information

App. Chapter 19 App. App (ViewController) App. Single View Application Single View Application View. (View Controller)

App. Chapter 19 App. App (ViewController) App. Single View Application Single View Application View. (View Controller) Chapter 19 App App (ViewController) App 19.1 App App Single View Application Single View Application View Controller View Controller Label Button Button (View Controller) 2 View Controller Utility Area

More information

Stanford CS193p. Developing Applications for ios. Fall CS193p. Fall

Stanford CS193p. Developing Applications for ios. Fall CS193p. Fall Stanford Developing Applications for ios Today Drag and Drop Transferring information around within and between apps. EmojiArt Demo Drag and drop an image to get our EmojiArt masterpieces started. UITableView

More information

Navigation and Segues

Navigation and Segues Navigation and Segues Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Mobile Application Development in ios 1 Outline Multiple views Segues Navigation

More information

Introductory ios Development

Introductory ios Development Introductory ios Development 152-164 Unit 5 - Multi-View Apps Quick Links & Text References What is a Delegate? What is a Protocol? Delegates, Protocols and TableViews Creating a Master-Detail App Modifying

More information

Document Version Date: 1st March, 2015

Document Version Date: 1st March, 2015 7 Minute Fitness: ios(swift) Application Document Version 1.0.1 Date: 1st March, 2015 2 [7 MINUTE FITNESS: APP DOCUMENTATION] Important Notes:... 5 AppDelegate Class Reference... 6 Tasks... 6 Instance

More information

UI Design and Storyboarding

UI Design and Storyboarding UI Design and Storyboarding Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Mobile Application Development in ios 1 Outline Model-View-Controller

More information

News- ipad: ios(swift) Application

News- ipad: ios(swift) Application News- ipad: ios(swift) Application Document Version 1.0.1 Date: 9 th Nov, 2014 2 [NEWS- IPAD: APP DOCUMENTATION] Important Notes:... 6 AppDelegate Class Reference... 7 Tasks... 7 Instance Methods... 7

More information

Stanford CS193p. Developing Applications for ios. Winter CS193p! Winter 2015

Stanford CS193p. Developing Applications for ios. Winter CS193p! Winter 2015 Stanford CS193p Developing Applications for ios Today UITextField Bonus Topic! Table View A UIView for displaying long lists or tables of data UITextField Like UILabel, but editable Typing things in on

More information

Social Pinboard: ios(swift) Application

Social Pinboard: ios(swift) Application Social Pinboard: ios(swift) Application Document Version 1.0.1 Date: 15 th May, 2015 2 [SOCIAL PINBOARD: APP DOCUMENTATION] Important Notes:... 5 AppDelegate Class Reference... 6 Tasks... 6 Instance Methods...

More information

ios Mobile Development

ios Mobile Development ios Mobile Development Today UITableView! Data source-driven vertical list of views.! ipad! Device-specific UI idioms.! Demo! Shutterbug UITableView Very important class for displaying data in a table!

More information

Enhancing your apps for the next dimension of touch

Enhancing your apps for the next dimension of touch App Frameworks #WWDC16 A Peek at 3D Touch Enhancing your apps for the next dimension of touch Session 228 Tyler Fox UIKit Frameworks Engineer Peter Hajas UIKit Frameworks Engineer 2016 Apple Inc. All rights

More information

ios Development - Xcode IDE

ios Development - Xcode IDE ios Development - Xcode IDE To develop ios applications, you need to have an Apple device like MacBook Pro, Mac Mini, or any Apple device with OS X operating system, and the following Xcode It can be downloaded

More information

This book contains code samples available under the MIT License, printed below:

This book contains code samples available under the MIT License, printed below: Bluetooth Low Energy in ios Swift by Tony Gaitatzis Copyright 2015 All Rights Reserved All rights reserved. This book or any portion thereof may not be reproduced or used in any manner whatsoever without

More information

Produced by. Design Patterns. MSc in Computer Science. Eamonn de Leastar

Produced by. Design Patterns. MSc in Computer Science. Eamonn de Leastar Design Patterns MSc in Computer Science Produced by Eamonn de Leastar (edeleastar@wit.ie) Department of Computing, Maths & Physics Waterford Institute of Technology http://www.wit.ie http://elearning.wit.ie

More information

Protocols and Delegates. Dr. Sarah Abraham

Protocols and Delegates. Dr. Sarah Abraham Protocols and Delegates Dr. Sarah Abraham University of Texas at Austin CS329e Fall 2016 Protocols Group of related properties and methods that can be implemented by any class Independent of any class

More information

Mobile Development - Lab 2

Mobile Development - Lab 2 Mobile Development - Lab 2 Objectives Illustrate the delegation mechanism through examples Use a simple Web service Show how to simply make a hybrid app Display data with a grid layout Delegation pattern

More information

Building the App - Part 5 - Adding a Link

Building the App - Part 5 - Adding a Link Unit 4 - Coding For Your App Copy and Paste the code below exactly where the tutorials tell you. DO NOT COPY TEXT IN RED. Building the App - Part 5 - Adding a Link XCODE 7 @IBAction func Button1(_ sender:

More information

A Mad Libs app that you will navigate through 3 UIViewControllers to add text that will be shown in a story on the fourth UIViewController.

A Mad Libs app that you will navigate through 3 UIViewControllers to add text that will be shown in a story on the fourth UIViewController. WordPlay App: A Mad Libs app that you will navigate through 3 UIViewControllers to add text that will be shown in a story on the fourth UIViewController. Create a new project Create a new Xcode project

More information

Gestures. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder

Gestures. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Gestures Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Mobile Application Development in ios 1 Outline Gestures Gesture recognizers Gesture states

More information

COMPLETE TUTORIAL COURSE. Learn to make tvos LE. apps with real-worldam S F

COMPLETE TUTORIAL COURSE. Learn to make tvos LE. apps with real-worldam S F HACKING WITH SWIFT COMPLETE TUTORIAL COURSE Learn to make tvos LE P apps with real-worldam S Swift projects REEPaul Hudson F Project 1 Randomly Beautiful 2 www.hackingwithswift.com Setting up In this first

More information

Collection Views. Dr. Sarah Abraham

Collection Views. Dr. Sarah Abraham Collection Views Dr. Sarah Abraham University of Texas at Austin CS329e Fall 2016 What is a Collection View? Presents an ordered set of data items in a flexible layout Subclass of UIScrollView (like UITableView)

More information

Lecture 8 Demo Code: Cassini Multithreading

Lecture 8 Demo Code: Cassini Multithreading Lecture 8 Demo Code: Cassini Multithreading Objective Included below is the source code for the demo in lecture. It is provided under the same Creative Commons licensing as the rest of CS193p s course

More information

Apple Development Technology Workshops

Apple Development Technology Workshops Apple Development Technology Workshops Workshop 10 Table Views Building iphone Apps. Pt 2 Fall 2008 Hafez Rouzati Fall 2008 Zach Pousman Last Week UIViewControllers Organizing Content & Building iphone

More information

Praktikum Entwicklung von Mediensystemen mit

Praktikum Entwicklung von Mediensystemen mit Praktikum Entwicklung von Mediensystemen mit Wintersemester 2013/2014 Christian Weiß, Dr. Alexander De Luca Today Table View Navigation Controller Passing Data Between Scenes Assignment 2 2 Navigation-based

More information

Implementing UI Designs in Interface Builder

Implementing UI Designs in Interface Builder Developer Tools #WWDC15 Implementing UI Designs in Interface Builder Session 407 Kevin Cathey Interface Builder Engineer Tony Ricciardi Interface Builder Engineer 2015 Apple Inc. All rights reserved. Redistribution

More information

Miscellaneous Topics

Miscellaneous Topics Miscellaneous Topics Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Mobile Application Development in ios 1 Outline Renaming Xcode project and

More information

ITP 342 Mobile App Dev. Connections

ITP 342 Mobile App Dev. Connections ITP 342 Mobile App Dev Connections User Interface Interactions First project displayed information to the user, but there was no interaction. We want the users of our app to touch UI components such as

More information

Structuring an App Copyright 2013 Apple Inc. All Rights Reserved.

Structuring an App Copyright 2013 Apple Inc. All Rights Reserved. Structuring an App App Development Process (page 30) Designing a User Interface (page 36) Defining the Interaction (page 42) Tutorial: Storyboards (page 47) 29 App Development Process Although the task

More information

imate: ios Application

imate: ios Application imate: ios Application Document Version 1.0.1 Date: 27 th May, 2014 2 [IMATE: IOS APPLICATION] Contents AppDelegate Class Reference... 4 Tasks... 4 Properties... 4 Instance Methods... 4 ChatMenuViewController

More information

ITP 342 Mobile App Dev. Web View

ITP 342 Mobile App Dev. Web View ITP 342 Mobile App Dev Web View Web View 2 WebKit The WebKit provides a set of core classes to display web content in windows, and by default, implements features such as following links clicked by the

More information

Today s Topics. Scroll views Table views. UITableViewController Table view cells. Displaying data Controlling appearance & behavior

Today s Topics. Scroll views Table views. UITableViewController Table view cells. Displaying data Controlling appearance & behavior Today s Topics Scroll views Table views Displaying data Controlling appearance & behavior UITableViewController Table view cells Scroll Views UIScrollView For displaying more content than can fit on the

More information

MVC & Onwards. CS 442: Mobile App Development Michael Saelee

MVC & Onwards. CS 442: Mobile App Development Michael Saelee MVC & Onwards CS 442: Mobile App Development Michael Saelee Agenda - Recap: view-controller communication - Delegation as a general pattern - Observer pattern - Controller responsibilities & MVC - Multiple

More information

CS193P - Lecture 8. iphone Application Development. Scroll Views & Table Views

CS193P - Lecture 8. iphone Application Development. Scroll Views & Table Views CS193P - Lecture 8 iphone Application Development Scroll Views & Table Views Announcements Presence 1 due tomorrow (4/28)! Questions? Presence 2 due next Tuesday (5/5) Announcements Enrolled students who

More information

Naviga&on and Tab Bar Controllers and Table View

Naviga&on and Tab Bar Controllers and Table View Naviga&on and Tab Bar Controllers and Table View UINaviga)onController Stack of view controllers Naviga)on bar How It Fits Together Top view controller s view Top view controller s )tle Previous view controller

More information

Learn to make ios apps

Learn to make ios apps HACKING WITH SWIFT PROJECTS 1-39 Learn to make ios apps E L P with real projects SAM E E FR Paul Hudson Project 1 Storm Viewer Get started coding in Swift by making an image viewer app and learning key

More information

ITP 342 Mobile App Dev. Collection View

ITP 342 Mobile App Dev. Collection View ITP 342 Mobile App Dev Collection View Collection View A collection view manages an ordered collection of items and presents them in a customizable layout. A collection view: Can contain optional views

More information

Rx in the real world. 1 Rob Ciolli

Rx in the real world. 1 Rob Ciolli Rx in the real world 1 Rob Ciolli 2 Rob Ciolli 3 Rob Ciolli The App 4 Rob Ciolli Quick architecture overview 5 Rob Ciolli MV - WTF 6 Rob Ciolli Model Simple, immutable data struct returned from DB or APIs

More information

ITP 342 Mobile App Dev. Delegates

ITP 342 Mobile App Dev. Delegates ITP 342 Mobile App Dev Delegates Protocol A protocol is a declaration of a list of methods Classes that conform to the protocol implement those methods A protocol can declare two kinds of methods: required

More information

Notifications. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder

Notifications. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Notifications Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Mobile Application Development in ios 1 Outline Alerts Internal notifications Local

More information

User Interfaces. Lecture 15. Application Programming on Mac OS. Hamza Bennani September 4, 2018

User Interfaces. Lecture 15. Application Programming on Mac OS. Hamza Bennani September 4, 2018 User Interfaces Lecture 15 Application Programming on Mac OS Hamza Bennani hamza@hamzabennani.com September 4, 2018 Logistics Office hours: Tue/Thu, 2pm to 3pm. Office: 250 Geoff Wyvill. Acknowledgment:

More information

Multimedia. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder

Multimedia. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Multimedia Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Mobile Application Development in ios 1 Outline Audio recording, access, and playback

More information

Index. btndrop function, 224, 226 btngetquote function, 246 btnpressed function, 28 btnquote method, 245. CallWeb method, 238, 240

Index. btndrop function, 224, 226 btngetquote function, 246 btnpressed function, 28 btnquote method, 245. CallWeb method, 238, 240 Index A App icons section icons set, 277 LaunchImage, 278 launch screen graphics, 278 279 PNG format, 277 settings, 276 App store deployment application graphics, 273 general settings Identity section,

More information

} override func didreceivememorywarning() { 26 super.didreceivememorywarning() 27 } 28 } Pause Stop

} override func didreceivememorywarning() { 26 super.didreceivememorywarning() 27 } 28 } Pause Stop Chapter 30 30.1 App App MP3 Don t Download This Song [1] Finder MP3 Xcode UI 1 import UIKit 2 import AVFoundation 3 4 class ViewController: UIViewController { 5 6 var player: AVAudioPlayer? 7 8 override

More information

Sensors. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder

Sensors. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Sensors Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Mobile Application Development in ios 1 Outline Sensor types Sensor availability Accessing

More information

Data Storage. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder

Data Storage. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Data Storage Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Mobile Application Development in ios 1 Outline Already seen UserDefaults icloud File

More information

IPhone Application of Carleton University. Carleton University Computer Science Honors Project Report

IPhone Application of Carleton University. Carleton University Computer Science Honors Project Report IPhone Application of Carleton University Carleton University Computer Science Honors Project Report Student Name: Yang Cai Student Number: 100309906 Project Supervisor: Dr. Dwight Deugo Date: Dec. 13,

More information

MVC and Interface Builder IAP 2010

MVC and Interface Builder IAP 2010 MVC and Interface Builder IAP 2010 iphonedev.csail.mit.edu edward benson / eob@csail.mit.edu Information-Driven Applications Application Flow UIApplication Main NIB Initialized UIAppDelegate - (void)applicationdidfinishlaunching:(uiapplication

More information

Stanford CS193p. Developing Applications for ios. Fall Stanford CS193p. Fall 2011

Stanford CS193p. Developing Applications for ios. Fall Stanford CS193p. Fall 2011 Developing Applications for ios Today UI Element of the Week UIToolbar ipad Split View Popover Universal (iphone + ipad) Application Demo Friday Section AVFoundation framework - Capturing and manipulating

More information

DÉVELOPPER UNE APPLICATION IOS

DÉVELOPPER UNE APPLICATION IOS DÉVELOPPER UNE APPLICATION IOS PROTOCOLES CE COURS EST EXTRAIT DU LIVRE APP DEVELOPMENT WITH SWIFT 1 PROTOCOLES Définit un plan de méthodes, de propriétés et d'autres exigences qui conviennent à une tâche

More information

View Controllers CPRE 388

View Controllers CPRE 388 View Controllers CPRE 388 View Controllers Manage views in model view controller design template. Many types: custom view controller; container view controller; modal view controller. Custom View controllers

More information

Building Mapping Apps for ios With Swift

Building Mapping Apps for ios With Swift Building Mapping Apps for ios With Swift Jeff Linwood This book is for sale at http://leanpub.com/buildingmappingappsforioswithswift This version was published on 2017-09-09 This is a Leanpub book. Leanpub

More information

Data Storage. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder

Data Storage. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Data Storage Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Mobile Application Development in ios 1 Data Storage Already seen: UserDefaults, icloud

More information

Settings. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder

Settings. Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Settings Mobile Application Development in ios School of EECS Washington State University Instructor: Larry Holder Mobile Application Development in ios 1 Outline In-app settings UserDefaults Device settings

More information

InterfaceBuilder and user interfaces

InterfaceBuilder and user interfaces ES3 Lab 2 InterfaceBuilder and user interfaces This lab InterfaceBuilder Creating components Linking them to your code Adding buttons, labels, sliders UITableView Creating a tableview Customizing cells

More information

Stanford CS193p. Developing Applications for ios. Fall Stanford CS193p. Fall 2011

Stanford CS193p. Developing Applications for ios. Fall Stanford CS193p. Fall 2011 Developing Applications for ios Today Core Data Thread Safety NSManagedObjectContext is not thread-safe. What to do about that. Core Data and Table View Very common way to view data from a Core Data database

More information

Announcements. Today s Topics

Announcements. Today s Topics Announcements Lab 2 is due tonight by 11:59 PM Late policy is 10% of lab total per day late So -7.5 points per day late for lab 2 Labs 3 and 4 are posted on the course website Extensible Networking Platform

More information

Assignment IV: Smashtag Mentions

Assignment IV: Smashtag Mentions Assignment IV: Smashtag Mentions Objective In this assignment, you will enhance the Smashtag application that we built in class to give ready-access to hashtags, urls, images and users mentioned in a tweet.

More information

Stanford CS193p. Developing Applications for ios. Winter CS193p. Winter 2017

Stanford CS193p. Developing Applications for ios. Winter CS193p. Winter 2017 Stanford Developing Applications for ios Today Core Data Object-Oriented Database Core Data Database Sometimes you need to store large amounts of data or query it in a sophisticated manner. But we still

More information

Stanford CS193p. Developing Applications for ios. Winter CS193p. Winter 2017

Stanford CS193p. Developing Applications for ios. Winter CS193p. Winter 2017 Stanford Developing Applications for ios Today Error Handling in Swift try Extensions A simple, powerful, but easily overused code management syntax Protocols Last (but certainly not least important) typing

More information

Mobile Development Lab 3

Mobile Development Lab 3 Mobile Development Lab 3 Objectives Illustrate closures through examples Have fun with maps, location and geolocation Have fun with animations Closures implemented in Swift Closures are self-contained

More information

Stanford CS193p. Developing Applications for ios. Fall CS193p. Fall

Stanford CS193p. Developing Applications for ios. Fall CS193p. Fall Stanford Developing Applications for ios Today More about Documents Demo Use Codable to create a JSON representation of our document Store it in the filesystem Think better of that and let UIDocument store

More information

Step 1: Open Xcode and select Create a new Xcode Project from the Welcome to Xcode menu.

Step 1: Open Xcode and select Create a new Xcode Project from the Welcome to Xcode menu. In this tutorial we are going to build a simple calculator using buttons that are all linked together using the same method. We will also add our own method to the source code to create some additional

More information

Xcode 4 Cookbook. Steven F. Daniel. Chapter No. 2 "User Interfaces Creating the UI"

Xcode 4 Cookbook. Steven F. Daniel. Chapter No. 2 User Interfaces Creating the UI Xcode 4 Cookbook Steven F. Daniel Chapter No. 2 "User Interfaces Creating the UI" In this package, you will find: A Biography of the author of the book A preview chapter from the book, Chapter NO.2 "User

More information

Stanford CS193p. Developing Applications for ios. Spring CS193p. Spring 2016

Stanford CS193p. Developing Applications for ios. Spring CS193p. Spring 2016 Stanford Developing Applications for ios Today Memory Management for Reference Types Controlling when things leave the heap Closure Capture Closures capture things into the heap too Extensions A simple,

More information

Praktikum Entwicklung von Mediensystemen mit ios

Praktikum Entwicklung von Mediensystemen mit ios Praktikum Entwicklung von Mediensystemen mit ios WS 2011 Prof. Dr. Michael Rohs michael.rohs@ifi.lmu.de MHCI Lab, LMU München Today Storyboards Automatic Reference Counting Animations Exercise 3 2 Timeline

More information

ios 12 App Development Essentials

ios 12 App Development Essentials ios 12 App Development Essentials ios 12 App Development Essentials First Edition 2018 Neil Smyth / Payload Media, Inc. All Rights Reserved. This book is provided for personal use only. Unauthorized use,

More information

ios 11 App Development Essentials

ios 11 App Development Essentials ios 11 App Development Essentials ios 11 App Development Essentials First Edition 2018 Neil Smyth / Payload Media, Inc. All Rights Reserved. This book is provided for personal use only. Unauthorized use,

More information

Advanced ios. CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 20 11/01/2012

Advanced ios. CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 20 11/01/2012 Advanced ios CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 20 11/01/2012 1 Goals of the Lecture Present a few additional topics and concepts related to ios programming persistence serialization

More information

ADVANCED M A. Learn SiriKit, imessage apps, rich notifications, and more. with real-world projects HACKING WITH SWIFT COMPLETE TUTORIAL COURSE

ADVANCED M A. Learn SiriKit, imessage apps, rich notifications, and more. with real-world projects HACKING WITH SWIFT COMPLETE TUTORIAL COURSE HACKING WITH SWIFT ADVANCED ios VOLUME ONE COMPLETE TUTORIAL COURSE Learn SiriKit, imessage apps, E L P rich notifications, and more M A S with real-world projects E E FR Paul Hudson Chapter 1 Happy Days

More information

ITP 342 Mobile App Dev. Connections

ITP 342 Mobile App Dev. Connections ITP 342 Mobile App Dev Connections User Interface Interactions First project displayed information to the user, but there was no interaction. We want the users of our app to touch UI components such as

More information

Cocoa Touch Best Practices

Cocoa Touch Best Practices App Frameworks #WWDC15 Cocoa Touch Best Practices Session 231 Luke Hiesterman UIKit Engineer 2015 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission

More information

Mastering UIKit on tvos

Mastering UIKit on tvos App Frameworks #WWDC16 Mastering UIKit on tvos Session 210 Justin Voss UIKit Engineer 2016 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from

More information

Building GUIs with UIKit. Kevin Cathey

Building GUIs with UIKit. Kevin Cathey Building GUIs with UIKit Kevin Cathey Building GUIs with UIKit acm.uiuc.edu/macwarriors/devphone Building GUIs with UIKit What is UIKit? acm.uiuc.edu/macwarriors/devphone Building GUIs with UIKit What

More information

ios DeCal : Lecture 2 Structure of ios Applications: MVC and Auto Layout

ios DeCal : Lecture 2 Structure of ios Applications: MVC and Auto Layout ios DeCal : Lecture 2 Structure of ios Applications: MVC and Auto Layout Overview : Today s Lecture Model View Controller Design Pattern Creating Views in Storyboard Connecting your Views to Code Auto

More information

1 Build Your First App. The way to get started is to quit talking and begin doing. Walt Disney

1 Build Your First App. The way to get started is to quit talking and begin doing. Walt Disney 1 Build Your First App The way to get started is to quit talking and begin doing. Walt Disney Copyright 2015 AppCoda Limited All rights reserved. Please do not distribute or share without permission. No

More information

Gerontechnology II. Collecting Smart Phone Sensor Data for Gerontechnology. Using ios

Gerontechnology II. Collecting Smart Phone Sensor Data for Gerontechnology. Using ios Gerontechnology II Collecting Smart Phone Sensor Data for Gerontechnology Using ios Introduction to ios ios devices and sensors Xcode Swift Getting started with Sensor App ios Devices ipad iphone Apple

More information

COMP327 Mobile Computing Session:

COMP327 Mobile Computing Session: COMP327 Mobile Computing Session: 2018-2019 Lecture Set 4 - Data Persistence, & Core Data [ last updated: 16 October 2018 ] 1 In these Slides... We will cover... An introduction to Local Data Storage The

More information

IPHONE DEVELOPMENT. Getting Started with the iphone SDK

IPHONE DEVELOPMENT. Getting Started with the iphone SDK IPHONE DEVELOPMENT Getting Started with the iphone SDK OBJECTIVE-C The Big Picture STRICT SUPERSET OF C The Objective C Language Any C stuff applies Standard libs are here (time, sqrt etc) The C Language

More information

CSC 581: Mobile App Development Spring 2018

CSC 581: Mobile App Development Spring 2018 CSC 581: Mobile App Development Spring 2018 Unit 2: Introduciton to the UIKit UIKit, UIViews UIControl subclasses 1 UIKit the UIKit is a code framework for building mobile apps the foundational class for

More information

Stichwortverzeichnis. 379, #define 287, 407 #import 50, 99 #pragma mark 415

Stichwortverzeichnis. 379, #define 287, 407 #import 50, 99 #pragma mark 415 Symbole @class 379, 480 @optional 360 @property 128 @protocol 197 @required 353 #define 287, 407 #import 50, 99 #pragma mark 415 A About-Fenster 294 Accessor-Methoden 94, 98, 115, 118, 132, 583 Action

More information

Improving your Existing Apps with Swift

Improving your Existing Apps with Swift Developer Tools #WWDC15 Improving your Existing Apps with Swift Getting Swifty with It Session 403 Woody L. in the Sea of Swift 2015 Apple Inc. All rights reserved. Redistribution or public display not

More information

I, J. Key-value observing (KVO), Label component, 32 text property, 39

I, J. Key-value observing (KVO), Label component, 32 text property, 39 Index A Abstract factory pattern, 207 concrete factory, 213 examples in Cocoa, 227 groups of objects, 212 implementing, 213 abstract factories, 214 concrete factories, 214 215 operations, 212 213 pitfalls,

More information

ios Core Data Example Application

ios Core Data Example Application ios Core Data Example Application The Core Data framework provides an abstract, object oriented interface to database storage within ios applications. This does not require extensive knowledge of database

More information

Apple Watch Docs. Release 0.1. Michael Hahn

Apple Watch Docs. Release 0.1. Michael Hahn Apple Watch Docs Release 0.1 Michael Hahn Nov 20, 2017 Contents 1 First Watch Glance 3 1.1 Create an iphone App.......................................... 3 1.2 Add WatchKit Targets..........................................

More information

IOS - TEXT FIELD. Use of Text Field. Important Properties of Text Field. Updating Properties in xib

IOS - TEXT FIELD. Use of Text Field. Important Properties of Text Field. Updating Properties in xib IOS - TEXT FIELD http://www.tutorialspoint.com/ios/ios_ui_elements_text_field.htm Copyright tutorialspoint.com Use of Text Field A text field is a UI element that enables the app to get user input. A UITextfield

More information

Q-1 What is Parsing? Explain XML parsing and JSON parsing with example. OR Explain JSON parsing with example.

Q-1 What is Parsing? Explain XML parsing and JSON parsing with example. OR Explain JSON parsing with example. Q-1 What is Parsing? Explain XML parsing and JSON parsing with example. OR Explain JSON parsing with example. Parsing defined as separation. To separate the sentence into grammatical meaning or words,

More information

Programming ios in Lua A bridge story

Programming ios in Lua A bridge story Lua Workshop 2016 Programming ios in Lua A bridge story Jean-Luc Jumpertz @JLJump October 14, 2016 CodeFlow Live Application Development Environment for ios, tvos & macos CodeFlow Live Application Development

More information

Learn to make desktop LE

Learn to make desktop LE HACKING WITH SWIFT COMPLETE TUTORIAL COURSE Learn to make desktop LE P apps with real-worldam S Swift projects REEPaul Hudson F Project 1 Storm Viewer Get started coding in Swift by making an image viewer

More information

LESSONS LEARNED. SWIFT. Dagna Bieda, 7th April 2016

LESSONS LEARNED. SWIFT. Dagna Bieda, 7th April 2016 LESSONS LEARNED. SWIFT Dagna Bieda, 7th April 2016 SWIFT & XCODE Brief Intro Language that essentially marries the readability of Python with the speed of C++. @jeremyconkin SWIFT mix of good practices

More information

Mobile Application Development

Mobile Application Development Mobile Application Development Lecture 16 Controllers of View Controllers 2013/2014 Parma Università degli Studi di Parma Lecture Summary Multiple MVCs UINavigationController Segues UITabBarController

More information

View Controller Lifecycle

View Controller Lifecycle View Controller Lifecycle View Controllers have a Lifecycle A sequence of messages is sent to them as they progress through it Why does this matter? You very commonly override these methods to do certain

More information

Stream iphone Sensor Data to Adafruit IO

Stream iphone Sensor Data to Adafruit IO Stream iphone Sensor Data to Adafruit IO Created by Trevor Beaton Last updated on 2019-01-22 04:07:41 PM UTC Guide Contents Guide Contents Overview In this learn guide we will: Before we start... Downloading

More information

ErrorType protocol, 53

ErrorType protocol, 53 Index A Advertising Services, 289 290 API client library APIClient.swift, 139 140, 146 150 API request, 141 142, 145 APIService, 141 error object, 144 extractratelimits( ), 145 GET, 138 NSDictionary, 144

More information

Tip Calculator App Introducing Swift, Text Fields, Sliders, Outlets, Actions, View Controllers, Event Handling, NSDecimalNumber,

Tip Calculator App Introducing Swift, Text Fields, Sliders, Outlets, Actions, View Controllers, Event Handling, NSDecimalNumber, 3 Tip Calculator App Introducing Swift, Text Fields, Sliders, Outlets, Actions, View Controllers, Event Handling, NSDecimalNumber, NSNumberFormatter and Automatic Reference Counting Objectives In this

More information

Computer Science 251. iphone Application Development. Autorotation, Popover Controllers, Modal Controllers

Computer Science 251. iphone Application Development. Autorotation, Popover Controllers, Modal Controllers Computer Science 251 iphone Application Development Autorotation, Popover Controllers, Modal Controllers Two Types of Orientation Device: physically upside down, rotated left, on its back, etc. Can be

More information

Create an App that will drop PushPins onto a map based on addresses that the user inputs.

Create an App that will drop PushPins onto a map based on addresses that the user inputs. Overview Create an App that will drop PushPins onto a map based on addresses that the user inputs. Part 1: Introduction to MKMapKit Part 2: Introduction to PushPins Part 3: Use Google s API to lookup an

More information

Designing iphone Applications

Designing iphone Applications Designing iphone Applications 4 Two Flavors of Mail 5 Organizing Content 6 Organizing Content 6 Organizing Content 6 Organizing Content 6 Organizing Content Focus on your user s data 6 Organizing Content

More information