Slide 1

Slide 1 text

iOS for Android developers …And the other way around Nemanja Maksimović

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

Getting started Get a Mac computer Join the development program Install the Xcode … Success

Slide 6

Slide 6 text

New single view app

Slide 7

Slide 7 text

ObjectiveC(rash course)

Slide 8

Slide 8 text

H&M Class interface and implementation

Slide 9

Slide 9 text

@ Business @ is not from C @property, @interface, @implementation, @protocol… @“String literal”, @[@1,@2,@3], @{@“key1” : @“Val1”,…} “Format strings %@“

Slide 10

Slide 10 text

It’s an NSThing ObjectiveC nema package i namespace Dvoslovni prefiksi - Apple; Troslovni - korisnički NS - Novi Sad <3

Slide 11

Slide 11 text

[myObj callMethod]; self(ie) == this [UIColor colorWithRed:255.0 green:255.0 blue:255.0 alpha:1.0]; no NPE

Slide 12

Slide 12 text

Delegate < Protocol > @protocol ~ java interface @optional - methods @required - methods id

Slide 13

Slide 13 text

Text Protocol declaration

Slide 14

Slide 14 text

^(BlockArgs){ /* BLOCK */ } Block ~ Anonymous function Access local variables by value or __block as reference

Slide 15

Slide 15 text

Text Category Add methods to existing class w/o extending

Slide 16

Slide 16 text

Swiftly and with style

Slide 17

Slide 17 text

Swift - main features Swift ~ Scala Object Oriented + Functional

Slide 18

Slide 18 text

Anatomy of typical app

Slide 19

Slide 19 text

No content

Slide 20

Slide 20 text

Model Plain objects will do fine

Slide 21

Slide 21 text

View Android: Layout xml files iOS: Storyboard ( big xml file in background )

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

Controller Android: Activity iOS: ViewController

Slide 24

Slide 24 text

Referencing view elements from controller Android: findViewById(R.id.viewItem); iOS: IBOutlet

Slide 25

Slide 25 text

Screen Transitions Android: Intents (+ Bundles) iOS: Segue ( prepareForSegue )

Slide 26

Slide 26 text

Text Services

Slide 27

Slide 27 text

Interapp communication Android: Intents/Intent Filters iOS: urlScheme

Slide 28

Slide 28 text

Thank you!