37
Mohammad Shaker FIT of Damascus - AI dept. [email protected] Mobile SE – August 2012 Mobile Software Engineering L05 - iOS

Mobile Software Engineering Crash Course - C05 iOS Intro

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Mobile Software Engineering Crash Course - C05 iOS Intro

Mohammad Shaker

FIT of Damascus - AI dept.

[email protected]

Mobile SE –August 2012

Mobile

Software

Engineering

L05 - iOS

Page 2: Mobile Software Engineering Crash Course - C05 iOS Intro
Page 3: Mobile Software Engineering Crash Course - C05 iOS Intro

iOS frameworks

• Address Book UI Framework

• Event Kit UI Framework

• Game Kit Framework

• iAd Framework

• Map Kit Framework

• Message UI Framework

• UIKit Framework

• . . .

Page 4: Mobile Software Engineering Crash Course - C05 iOS Intro

MVC

Page 5: Mobile Software Engineering Crash Course - C05 iOS Intro
Page 6: Mobile Software Engineering Crash Course - C05 iOS Intro
Page 7: Mobile Software Engineering Crash Course - C05 iOS Intro

iOS Dev Centerhttps://developer.apple.com/devcenter/ios/

Page 8: Mobile Software Engineering Crash Course - C05 iOS Intro

C

Page 9: Mobile Software Engineering Crash Course - C05 iOS Intro
Page 10: Mobile Software Engineering Crash Course - C05 iOS Intro
Page 11: Mobile Software Engineering Crash Course - C05 iOS Intro

printf

Page 12: Mobile Software Engineering Crash Course - C05 iOS Intro
Page 13: Mobile Software Engineering Crash Course - C05 iOS Intro

Data Structure

• pointers

• Struct

• Enum

• arrays

Page 14: Mobile Software Engineering Crash Course - C05 iOS Intro
Page 15: Mobile Software Engineering Crash Course - C05 iOS Intro

Objective-C

Page 16: Mobile Software Engineering Crash Course - C05 iOS Intro

Data Types

BOOL

id

nil

...

Page 17: Mobile Software Engineering Crash Course - C05 iOS Intro

Foundation Data Types

• NSInteger

• NSPoint

• NSRect

• NSSize

• NSUInteger

• ...

Page 18: Mobile Software Engineering Crash Course - C05 iOS Intro

.h, Define a class – interface

Page 19: Mobile Software Engineering Crash Course - C05 iOS Intro

.m, Implementation

Page 20: Mobile Software Engineering Crash Course - C05 iOS Intro

Instance Variables

Page 21: Mobile Software Engineering Crash Course - C05 iOS Intro

Class Methods

+alloc;

Page 22: Mobile Software Engineering Crash Course - C05 iOS Intro

Funcation Calls - Messages

Page 23: Mobile Software Engineering Crash Course - C05 iOS Intro

Instance Methods

Page 24: Mobile Software Engineering Crash Course - C05 iOS Intro

Messages

Page 25: Mobile Software Engineering Crash Course - C05 iOS Intro

@property

Page 26: Mobile Software Engineering Crash Course - C05 iOS Intro

@synthesize

Page 27: Mobile Software Engineering Crash Course - C05 iOS Intro

Collections

• NSArray

• NSMutableArray

• NSDictionary

• NSMutableDictionary

• NSSet

• NSMutableSet

• …

https://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSMutableArray_Class/

Page 28: Mobile Software Engineering Crash Course - C05 iOS Intro

Fast Enumeration

Page 29: Mobile Software Engineering Crash Course - C05 iOS Intro

Localization

• Multi language

• Android, iPhone, iPad.

Page 30: Mobile Software Engineering Crash Course - C05 iOS Intro

The iPad

Page 31: Mobile Software Engineering Crash Course - C05 iOS Intro

Specs

• 1st generation

1 GHz Apple A4

• 2nd generation

1 GHz Apple A5

• 3rd generation

1 GHz Apple A5X

http://en.wikipedia.org/wiki/IPad

• 1st generation

256 MB DDR RAM

• 2nd generation

512 MB DDR2 RAM

• 3rd generation

1 GB DDR2 RAM

Page 32: Mobile Software Engineering Crash Course - C05 iOS Intro

Core Graphics

Page 33: Mobile Software Engineering Crash Course - C05 iOS Intro

Core GraphicsThe bad way :D

Page 34: Mobile Software Engineering Crash Course - C05 iOS Intro

Core GraphicsXcode OpenGL template

Page 35: Mobile Software Engineering Crash Course - C05 iOS Intro
Page 36: Mobile Software Engineering Crash Course - C05 iOS Intro

Resolution

• iPhone, iPod touch

320 x 480

• iPad

– 1st & 2nd generation

1024 × 768 px

– 3rd generation

2048×1536 px (Way better than your

laptop)

Page 37: Mobile Software Engineering Crash Course - C05 iOS Intro

Done,

Feel free to ask