Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Applikationsutveckling för iPhone och iPad, 725G60
Objective-C & Cocao Touch
Förkunskaper
Objektorienterad programmering
• Java
• C++
• C#
• Kunskaper i C är 👍
Objective -C
• Utökning av C (Objektorientering tillagt)• Lånar syntax från Smalltalk
• Cocoa Touch
C
• Funktioner
• Struct
• Pekare
• Loopar
• Variabler
C
• Funktions PekareAnvänds sällan, syntax som påminner om blocks
• MakrosAnvänds till mycket exempel importera filer eller definiera konstanser
• StaticGör så att en variabel bara instansernas en gång
C
.h.m
Filer
• .hDefiniera publika metoder och properties (”instans variabler”)
• .mImplementation av publika metoder och properties, Även privat metoder och properties implementeras här.
• .mmAnvänds när man vill skriva c++ kod, ingår inte i denna kursen.
Impotera filer
• .h.h filer ska vara lätta, inget överflödigt ska vara här
• #includeAnvänds sällan, vanligt i C
• #importImporterar .h filer så andra klasser kan använda den klassen/framework
• @importDetta är en ny funktion i Xcode 5, snabbare kompilering och slipper linka Cocoa frameworks.
• @classAnvänd denna i din .h fil när en import är överflödig. talar om att klassen finns men inte vad den har för metoder
Syntax
• Instanserna Obejekt
• Factory metod
• alloc initAltid nästla altid dessa tillsammans
Instansvariabler
• Ivar
• PropertiesAnvänd alltid properties när du ska definiera instansvariabler, du får mycket gratis.Bör ange vilka attribut du vill ha, mer info om detta kommer i senare screencast.
Metoder
• .KlassmetoderReturvärde och argument
• .InstansmetoderReturvärde och argument
Arv
• Alla klasser i Cocoa Touch ärver från NSObject Explicit eller implicit (genom annan klass)Endast enkla arv stöds. Superklass
Protokoll
• Fungerar ungefär som interface i Java • Beskriver vilka meddelanden ett objekt svarar på • Innehåller ingen kod • Båda frivilliga och obligatoriska medlemmar (@required, @optional)
Skapar ett protokollLovar att följa detta protokollet
• id en pekare till ett objekt.Men vi vet inte vad för objekt det är.
• Att referera till sig själv.Nästan som this i Java. !
• BlocksVanligt som completion handler
Cocoa Touch
!• Samling av ramverk för utveckling under iOS Primärt utvecklat i Objective-C. (Vissa delar i C
av prestandaskäl.) • Viktiga ramverk (iOS):
• Foundation Kit – strängar, minneshantering • UIKit – GUI på iPhone • CoreData - hantering av objekt
!• Andra intressanta ramverk:
• MapKit – kartor (prefix: MK), • CoreLocation – GPS (prefix: CL) • GameKit – Enkel P2P kommunikation via blåtand (prefix: GK) • • CoreMotion – Hanterar ”rörelser”, till exempel gyro.
• Programming with Objective-Chttps://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html
https://www.codeschool.com/courses/try-objective-c
• Try Objective-C - Code school
https://itunes.apple.com/us/book/all-the-c-you-need-to-know/id581989356?mt=11
• All the C you need to know