|
|
|
|
|
|
|
|
|
iOS mit Swift
|
|
|
Titel der Veranstaltung
|
|
|
Apple Programmierung mit iOS und Swift
|
|
|
Kurze Inhaltsangabe:
|
|
|
Um Programme für Apple-Produkte zu entwickeln, benötigte man „früher“ ObjectiveC. Diese Programmiersprache stammt aus dem Jahr 1982 und ist eigentlich C mit einem objektorientierten Aufsatz. Seit dem Jahr 2014 existiert die neue Sprache Swift. Hier wurde vieles aus anderen neuen Sprachen „entliehen“. Es ist eine moderne Sprache, die sowohl deklarativ als auch funktional benutzt werden kann. In den zwei Tagen wird die Sprache „Swift“ und die IDE „xcode“ an vielen Beispielen vorgestellt. Die grafischen Komponenten werden mit Drag&Drop à la Delphi bzw. Winforms eingefügt (leider).
Programmiersprache: Swift
IDE: xcode
Dauer: 2 Tage
Termine:
- Donnerstag: 19.05.2016 - Freitag: 20.05.2016
Uhrzeit: 09:00 Uhr bis 17:00 Uhr
Raum: 9.328
Anzahl der Teilnehmer max.: 15 Studenten
Sonstiges: Kenntnisse in objektorientierter Programmierung erforderlich
|
|
|
|
|
|
|
|
|
Gliederung
|
|
|
- Einleitung, Geschichte (kurz)
- Überblick der Sprache
- Aufbau der IDE xcode
- Einfache App's
- Komplexere App's mit
- Slider
- Switch (An/Aus)
- Segmented Control (RadioButton)
- ProgressView
- DatePicker
- Multi-View App's
- MVC App's
- CoreDate (Speicherung der eigenen Daten)
- Ini-Datei
- Serialize (einfach)
- Datenbanken
- Sensoren
|
|
|
Scripte
|
|
|
|
|
|
|
|
|
|
|
|
Beispiele
|
|
|
|
|
|
|
|
|
|
|
|
Problems and solutions in Swift
|
|
|
String Int
Version 6 |
Convert String to Int |
Konvertieren eines Strings in einer Int-Variablen |
// Version 6 hat no function Int("12") var zahl1=uiInput.text.toInt() // please use equal nil, not !=nil if zahl1==nil { _uiLabel.text="error" } else { _let i:Int=zahl1! _uiLabel.text="zahl1: "+String(i) } |
String Int
Version 7 |
Convert String to Int |
Konvertieren eines Strings in einer Int-Variablen |
let input:String=uiInputInt.text! var zahl1=Int(input) if zahl1==nil { _uiLabel.text="error" } else { _let i:Int=zahl1! _uiLabel.text="zahl1: "+String(i) } |
String Float String Double
Version 6 |
Consert String to Double |
Konvertieren eines Strings in einer Double-Variablen |
// Version 6 hat no function Double("12.3") let zahl1=(uiInput.text! as NSString).doubleValue // please use equal nil, not !=nil if zahl1==nil { _uiLabel.text="error" } else { _let value:Double=zahl1! _uiLabel.text="zahl1: "+String(value) } |
String Float String Double
Version 7 |
Consert String to Double |
Konvertieren eines Strings in einer Double-Variablen |
let input:String=uiInputInt.text! var zahl1=Double(input) if zahl1==nil { _uiLabel.text="error" } else { _let value:Int=zahl1! _uiLabel.text="zahl1: "+String(".f",value) _uiLabel.text="zahl1: "+String(".4f",value) } |
Double String |
Convert a Double to a String |
Konvertieren eines Double-Wertes in einer Double-Variablen |
|
|
|
|
|
|
|
|
|
|
Formatierung einer Variablen zu einem String
|
|
|
To convert a variable, one use the same code you uses with the c-function printf.
Convert a Int to a String:
%d: 32 Bit sign-integer number %u: 32 Bit unsigned number %x: 32 Bit unsigned number, with hexadecimal-codeConvert a Float to a String:
%f: float number
%10.3f: float number _7 digits for the numbers before the decimal point _3 digits for the number after the decimal point
%.3f: float number any number before the decimal point _3 digits for the number after the decimal point
Convert a Double to a String:
%f: double number
%10.3f: double number _7 digits for the numbers before the decimal point _3 digits for the number after the decimal point
%e: double number the number convert in exponetial-system: 1.34E+3
Format a String:
%@: String-Format
|
|
|
|
|
|
|
|
|
SaveData:NSUserDefaults
|
|
|
NSUserDefaults
An NSUserDefaults is the same code like an ini-files. You can store ans load a variable with a key. With this functions, you can store values in the plist-file (properties)
Examples for save:
let nr:Int=41 let defaults=NSUserDefaults.standardUserDefaults() defaults.setObject(nr,forKey: "nr") defaults.setInteger(nr,forKey: "nr") let str:String="Norman Bates" let defaults=NSUserDefaults.standardUserDefaults() defaults.setObject(str,forKey: "name")
Examples for load:
var nr:Int=0 let defaults=NSUserDefaults.standardUserDefaults() nr=defaults.integerForKey("nr") // a int, float or a double has ever a value, if the key not exist, you get the number 0 var str:String="" let defaults=NSUserDefaults.standardUserDefaults() str=defaults.stringForKey("name")! // a string can be nil !!!
Function for save:
defaults.setObject(nr,forKey: "nr")
Function for load:
let nr:Int=defaults.integerForKey("nr") let b:Bool=defaults.boolForKey("withShadow") let myArray[Int]=defaults.arrayForKey("myArray") let value:Float=defaults.floatForKey("price") let value:Double=defaults.doubleForKey("price") let obj:AnyObject=defaults.objectForKey("custom") let strArray:[AnyObject]=defaults.stringArrayForKey("customs")
Function for save:
defaults.setObject(str,forKey: "name") defaults.setBool(true,forKey: "withShadow") defaults.setInteger(1234,forKey: "age") defaults.setFloat(12.34,forKey: "price") defaults.setDouble(12.34,forKey: "price") defaults.setObject(myArray,forKey: "customs") defaults.setObject(myDictionary,forKey: "customs")
|
|
|
|
|
|
|
|
|
Literatur
|
|
|
iOS-Apps programmieren mit Swift
Christian Bleske dpunkt.verlag ISBN 978-3-86490-263-5
Swift 2
Michael Kofler Rheinwerk ISBN: 978-3-8362-3651-5
Durchstarten mit Swift
Stefan Popp & Ralf Peters O‘Reilly ISBN: 978-3-96009-005-2
|
|
|
|
|