Download - Swift Programming Language Presentation

Transcript
Page 1: Swift Programming Language Presentation

Swift

Page 2: Swift Programming Language Presentation

ΓρήγορηΜοντέρναΑσφαλής

Διαδραστική

Page 3: Swift Programming Language Presentation

Tι θα γνωρίσουμε ?

Xcode IDESwift Programming

Language

Page 4: Swift Programming Language Presentation

Τι θα χρειαστούμε ?

• Mac

• Xcode IDE

Page 5: Swift Programming Language Presentation

ΠρόγραμμαΣάββατο 25 Απριλίου 2015

• Xcode IDE

• Swift ( Variables, Constants, Arrays, Dictionaries, Optionals, Strings).

• Auto Layout, Navigation Bars, Segues.

Page 6: Swift Programming Language Presentation

Introduction to SwiftΣταθερές και Μεταβλητές

Page 7: Swift Programming Language Presentation

Βασικοί Τύποι

• 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

Page 8: Swift Programming Language Presentation

Δήλωση Μεταβλητών

var name : type = value

var name value=

Page 9: Swift Programming Language Presentation

Σταθερές vs Μεταβλητές

Page 10: Swift Programming Language Presentation

Demo

Page 11: Swift Programming Language Presentation

Introduction to SwiftOptionals

Page 12: Swift Programming Language Presentation

Εισαγωγή στα Optionals• Τα Optionals υποδεικνύουν αν υπάρχει ή όχι μια

τιμή

• Την έλλειψη μιας τιμής την αναπαριστούμε με nil

• Ολοι οι τύποι μπορούν να πάρουν την τιμή nil

• Για να ελέγξουμε αν υπάρχει τιμή χρησιμοποιούμε το if-let syntax

Page 13: Swift Programming Language Presentation

Introduction to SwiftStrings

Page 14: Swift Programming Language Presentation

Strings!• Είναι μία συλλογή απο character τιμές

• Το περιεχόμενο που εχούν τα Strings είναι τύπου τιμής

• Τα Strings μπορεί να είναι mutable, immutable

Page 15: Swift Programming Language Presentation

Swift και Unicode• Τα Strings είναι πλήρως συμβατά με

Unicode

• Oλόκληρος ο κώδικας Swift είναι συμβατός με Unicode

Page 16: Swift Programming Language Presentation

Demo

Page 17: Swift Programming Language Presentation

Introduction to SwiftArrays

Page 18: Swift Programming Language Presentation

Swift Arrays

• Τα Arrays περιέχουν πολλαπλές τιμές σε μια συγκεκριμένη σειρά.

• Η ίδια τιμή μπορεί να εμφανιστεί παραπάνω απο μία φορές.

• Τα Arrays πρέπει να καθορίζονται ώστε να έχουν τον ίδιο τύπο

item 1… = [ , , ]

item 2 …

Page 19: Swift Programming Language Presentation

Array Bridging• Swift Arrays απρόσκοπτα κάνουν bridge σε

NSArrays

• Για να γίνει το bridge απο swift, τα αντικείμενα ( objects ), θα πρέπει να είναι συμβατά με AnyObject

• Όταν κάνουμε bridge απο NSArray, δημιουργούμε ένα AnyObject Array

Page 20: Swift Programming Language Presentation

Demo

Page 21: Swift Programming Language Presentation

Τι είναι τα Λεξικά ?• Τα Λεξικά αποτελούνται απο ζευγάρια κλειδιών

και τιμών

• Λεξικό απο αριθμούς δωματίων ξενοδοχέιων σε ονόματα: 201: “Agis Room”

• Λεξικό ονομάτων σε ηλικίες: “Agis”: 19

• Βασικός κανόνας :

• Arrays χρησιμοποιούμε για να φτιάξουμε μια λίστα με σειρά

• Λεξικά χρησιμοποιούμε για να ψάξουμε κατι γρήγορα με την βοήθεια ενος κλειδιού

Page 22: Swift Programming Language Presentation

Δήλωση Λεξικών

... = [ : , : , … ] key 1 key 2value 1 value 2

• Τα κλειδιά και οι τιμές πρέπει να είναι σωστά δηλωμένα.

• Οι τιμές που ψάχνουμε ( Lookup values) είναι Optionals

Page 23: Swift Programming Language Presentation

Dictionary Bridging• Swift Λεξικά απρόσκοπτα κάνουν bridge σε

NSDictionaries.

• Τα κλειδιά και οι τιμές πρέπει να υπάρχουν ως περιπτώσεις μέσα σε μία κλάση.

• Τα NSDictionaries που έχουν γεφυρωθεί σε swift, αυτόματα γίνονται AnyObject.

Page 24: Swift Programming Language Presentation

Introduction to SwiftIf - for - while

Page 25: Swift Programming Language Presentation

if

if Condition

else

Condition else if

{ Statements }

• Οι συνθήκες πρέπει να επιστρέφουν τιμή τύπου boolean

{ Statements }

{ Statements }

Page 26: Swift Programming Language Presentation

ΠρόγραμμαΚυριακή 26 Απριλίου 2015

• Table Views, Persistence Storage.

• Creating our first app, Accessing Web Content.

Page 27: Swift Programming Language Presentation

UITableView (Class)• Μία πολύ σημαντική κλάση που μας παρουσιάζει

πληροφορίες σε κελιά

• Αυτή η κλάση ειναι μια υποκλάση της UIScrollView

• To “Table” μπορεί να είναι στατικό ή δυναμικό

Είδη UITableView• Plain ή Grouped.• Στατικό ή Δυναμικό.• Χωρισμένο σε τμήματα ( Section).• Διαφοροποίηση απο γραμμή σε

γραμμή.

Page 28: Swift Programming Language Presentation

UITableViewUITableView.Plain .Grouped

Δυναμική Λίστα

( Dynamic List) & Plain (ungrouped) Στατικό &

grouped

Page 29: Swift Programming Language Presentation

UITableViewPlain Style Table

Header

var tableHeaderView: UIView

Page 30: Swift Programming Language Presentation

UITableViewPlain Style

Table Footer

var tableFooterView: UIView

Page 31: Swift Programming Language Presentation

UITableViewPlain Style

τμήμα ( section )

Page 32: Swift Programming Language Presentation

UITableView

UITableViewDataSource’s tableView (UITableView, titleForHeaderSection: Int)

Plain Style

Επικεφαλίδατμηματος (header section )

Page 33: Swift Programming Language Presentation

UITableViewPlain Style

UITableViewDataSource’s tableView (UITableView, titleForFooterSection: Int)

Υποσέλιδοτμηματος (footer section )

Page 34: Swift Programming Language Presentation

UITableViewPlain Style

UITableViewDataSource’s tableView (UITableView, cellForRowAtIndexPath: NSIndexPath)

κελί

Page 35: Swift Programming Language Presentation

Με ή χωρίς τμήματα

Χωρίς τμήματα Με τμήματα

Page 36: Swift Programming Language Presentation

Τύποι Κελιών

SubtitleUITableViewCellStyle.Subt

itle

Basic.Default

Right Detail

.Value1

Left Detail

.Value2

Page 37: Swift Programming Language Presentation

UITableView Protocols

• Πως τα συνδέουμε όλα αυτά;

• H σύνδεση μέσω του κώδικα γίνεται μέσω της κλάσης UITableView και πιο ειδικά των στοιχείων dataSource και delegate

Το delegate το χρησιμοποιούμε για να δούμε και να επεξεργαστούμε πως εμφανίζονται οι πίνακες.

Το dataSource μας παρέχει τις πληροφορίες που εμφανίζονται μέσα στα κελιά

Page 38: Swift Programming Language Presentation

UITableView Protocols• Πότε πρέπει να εφαρμόζουμε το dataSource;

• Οταν οι πληροφορίες (data) στον πίνακά μας ειναι δυναμικές

Σε αυτο το πρωτόκολλο υπάρχουν 3 βασικοί μέθοδοι :

• Πόσα τμήματα έχει ο πίνακας;

• Πόσες γραμμές έχει ο πίνακας;

• Πώς μπορώ να επεξεργαστώ δημιουργήσω ένα κελί σε συγκεκριμένη σειρά, σε συγκεκριμένο τμήμα.