Swift
Γρήγορη
Μοντέρνα
Ασφαλής
Διαδραστική
Tι θα γνωρίσουμε ?
Xcode IDE
Swift Programming
Language
Τι θα χρειαστούμε ?
• Mac
• Xcode IDE
Πρόγραμμα
Σάββατο 25 Απριλίου 2015
• Xcode IDE
• Swift ( Variables, Constants, Arrays, Dictionaries,
Optionals, Strings).
• Auto Layout, Navigation Bars, Segues.
Introduction to Swift
Σταθερές και Μεταβλητές
Βασικοί Τύποι
• Int = 1, 3, 800, 6500
• Float or Double = 1.5, 3,54, 878.678
• Bool = true, false
• String = “Kermit”, “Gonzo”
• Class Name = UIView, UIButton etc
Δήλωση Μεταβλητών
var name : type = value
var name value=
Σταθερές vs Μεταβλητές
Demo
Introduction to Swift
Optionals
Εισαγωγή στα Optionals
• Τα Optionals υποδεικνύουν αν υπάρχει ή όχι μια τιμή
• Την έλλειψη μιας τιμής την αναπαριστούμε με nil
• Ολοι οι τύποι μπορούν να πάρουν την τιμή nil
• Για να ελέγξουμε αν υπάρχει τιμή χρησιμοποιούμε το if-
let syntax
Introduction to Swift
Strings
Strings!
• Είναι μία συλλογή απο character τιμές
• Το περιεχόμενο που εχούν τα Strings είναι τύπου
τιμής
• Τα Strings μπορεί να είναι mutable, immutable
Swift και Unicode
• Τα Strings είναι πλήρως συμβατά με Unicode
• Oλόκληρος ο κώδικας Swift είναι συμβατός
με Unicode
Demo
Introduction to Swift
Arrays
Swift Arrays
• Τα Arrays περιέχουν πολλαπλές τιμές σε μια
συγκεκριμένη σειρά.
• Η ίδια τιμή μπορεί να εμφανιστεί παραπάνω απο μία
φορές.
• Τα Arrays πρέπει να καθορίζονται ώστε να έχουν τον ίδιο
τύπο
item 1… = [ , , ]item 2 …
Array Bridging
• Swift Arrays απρόσκοπτα κάνουν bridge σε NSArrays
• Για να γίνει το bridge απο swift, τα αντικείμενα (
objects ), θα πρέπει να είναι συμβατά με AnyObject
• Όταν κάνουμε bridge απο NSArray, δημιουργούμε
ένα AnyObject Array
Demo
Τι είναι τα Λεξικά ?
• Τα Λεξικά αποτελούνται απο ζευγάρια κλειδιών και
τιμών
• Λεξικό απο αριθμούς δωματίων ξενοδοχέιων σε ονόματα: 201: “Agis Room”
• Λεξικό ονομάτων σε ηλικίες: “Agis”: 19
• Βασικός κανόνας :
• Arrays χρησιμοποιούμε για να φτιάξουμε μια λίστα με σειρά
• Λεξικά χρησιμοποιούμε για να ψάξουμε κατι γρήγορα με την βοήθεια ενος
κλειδιού
Δήλωση Λεξικών
... = [ : , : , … ]
key 1 key 2value 1 value 2
• Τα κλειδιά και οι τιμές πρέπει να είναι σωστά
δηλωμένα.
• Οι τιμές που ψάχνουμε ( Lookup values) είναι
Optionals
Dictionary Bridging
• Swift Λεξικά απρόσκοπτα κάνουν bridge σε NSDictionaries.
• Τα κλειδιά και οι τιμές πρέπει να υπάρχουν ως περιπτώσεις
μέσα σε μία κλάση.
• Τα NSDictionaries που έχουν γεφυρωθεί σε swift, αυτόματα
γίνονται AnyObject.
Introduction to Swift
If - for - while
if
if Condition
else
Conditionelse if
{ Statements }
• Οι συνθήκες πρέπει να επιστρέφουν τιμή τύπου boolean
{ Statements }
{ Statements }
Πρόγραμμα
Κυριακή 26 Απριλίου 2015
• Table Views, Persistence Storage.
• Creating our first app, Accessing Web Content.
UITableView (Class)
• Μία πολύ σημαντική κλάση που μας παρουσιάζει
πληροφορίες σε κελιά
• Αυτή η κλάση ειναι μια υποκλάση της UIScrollView
• To “Table” μπορεί να είναι στατικό ή δυναμικό
Είδη UITableView
• Plain ή Grouped.
• Στατικό ή Δυναμικό.
• Χωρισμένο σε τμήματα ( Section).
• Διαφοροποίηση απο γραμμή σε γραμμή.
UITableView
UITableView.Plain .Grouped
Δυναμική
Λίστα (
Dynamic List)
& Plain
(ungrouped) Στατικό &
grouped
UITableView
Plain Style Table
Header
var tableHeaderView: UIView
UITableView
Plain Style
Table
Footer
var tableFooterView: UIView
UITableView
Plain Style
τμήμα (
section )
UITableView
UITableViewDataSource’s tableView (UITableView, titleForHeaderSection: Int)
Plain Style
Επικεφαλίδα
τμηματος
(header
section )
UITableView
Plain Style
UITableViewDataSource’s tableView (UITableView, titleForFooterSection: Int)
Υποσέλιδο
τμηματος
(footer
section )
UITableView
Plain Style
UITableViewDataSource’s tableView (UITableView, cellForRowAtIndexPath: NSIndexPath)
κελί
Με ή χωρίς τμήματα
Χωρίς τμήματα Με τμήματα
Τύποι Κελιών
Subtitle
UITableViewCellStyle.Subtitl
e
Basic
.Default
Right Detail
.Value1
Left Detail
.Value2
UITableView Protocols
• Πως τα συνδέουμε όλα αυτά;
• H σύνδεση μέσω του κώδικα γίνεται μέσω της κλάσης
UITableView και πιο ειδικά των στοιχείων dataSource και delegate
Το delegate το χρησιμοποιούμε για να δούμε και να
επεξεργαστούμε πως εμφανίζονται οι πίνακες.
Το dataSource μας παρέχει τις πληροφορίες που εμφανίζονται
μέσα στα κελιά
UITableView Protocols
• Πότε πρέπει να εφαρμόζουμε το dataSource;
• Οταν οι πληροφορίες (data) στον πίνακά μας ειναι
δυναμικές
Σε αυτο το πρωτόκολλο υπάρχουν 3 βασικοί μέθοδοι :
• Πόσα τμήματα έχει ο πίνακας;
• Πόσες γραμμές έχει ο πίνακας;
• Πώς μπορώ να επεξεργαστώ δημιουργήσω ένα κελί
σε συγκεκριμένη σειρά, σε συγκεκριμένο τμήμα.

Swift Programming Language Presentation