Βίντεο: The Internet of Things by James Whittaker of Microsoft 2024
Από τον Neal Goldstein
Όταν μιλάτε για προγραμματισμό cloud iOS, μιλάτε για δύο πράγματα: iCloud συγχρονισμού δεδομένων μεταξύ συσκευών) και υπηρεσίες ιστού (οι οποίες σας επιτρέπουν να έχετε κάποια επεξεργασία της εφαρμογής σας από έναν απομακρυσμένο υπολογιστή κάπου στη μέση του που γνωρίζει πού). Οι υπηρεσίες Web βασίζονται σε αποτελεσματικούς τρόπους παράδοσης αιτημάτων υπηρεσίας ιστού - αιτήσεις που υποβάλλονται από χρήστη για δεδομένα αποθηκευμένα στο σύννεφο. Οι δύο πιο αποτελεσματικές μορφές (για τώρα, τουλάχιστον) είναι οι XML και JSON. Οι συμβουλές που θα βρείτε εδώ σας δείχνουν πώς μπορείτε να ρυθμίσετε ένα αίτημα ιστού (χρησιμοποιώντας την υπηρεσία ιστού Google Geocoder ως παράδειγμα) και τον τρόπο ανάλυσης τόσο της απόκρισης XML όσο και της απόκρισης JSON, ώστε να μπορείτε να χρησιμοποιήσετε τα δεδομένα της υπηρεσίας web στην εφαρμογή σας.
Όταν χρησιμοποιείτε μια υπηρεσία ιστού που βασίζεται στο σύννεφο, η απάντησή σας πιθανόν να είναι σε JSON ή XML, δύο τυπικές μορφές για τη μετάδοση δεδομένων μεταξύ ενός διακομιστή και μιας εφαρμογής ιστού. Θα υπάρξουν στιγμές που έχετε την επιλογή μεταξύ των δύο μορφών, αλλά άλλες φορές πρέπει να πάτε με αυτό που παίρνετε.Η υπηρεσία Google Geocoding Web, για παράδειγμα, σας δίνει μια επιλογή.
// maps. googleapis. com / maps / api / geocode / xml
Εάν θέλετε την απάντηση στο JSON, θα χρησιμοποιούσατε
// maps. googleapis. com / maps / api / geocode / json; paramters
Παρόλο που είναι παρόμοιο με πρόθεση, ο τρόπος με τον οποίο λαμβάνετε πληροφορίες από τις δομές δεδομένων XML και JSON είναι αρκετά διαφορετική στην εκτέλεση.
Ανάλυση απόκρισης XML από το σύννεφο
// maps. googleapis. com / maps / api / geocode / xml; αισθητήρας = true & address = Empire
Building State &θα πάρετε κάποια XML - για παράδειγμα:
… 40. 7484395 -73. 9856709 …
Δεδομένου ότι η XML δεν εκφράζεται με τρόπο που είναι εύκολο να κατανοηθεί, τότε θα πρέπει να αναλύσετε ό, τι είναι αυτό που σας δίνει το XML.
Να θυμάστε ότι η XML αποτελείται από στοιχεία που έχουν ετικέτες έναρξης και λήξης. Για να αποκτήσετε πληροφορίες μέσω του iCloud, χρησιμοποιείτε την κλάση NSXMLParser που χρησιμοποιεί το μοτίβο εκχώρησης. Εδώ είναι πώς θα λειτουργήσει:
NSXMLParser * xmlParser = [[NSXMLParser alloc] initWithData: δεδομένα]; [xmlParser setDelegate: self]; [xmlParser parse];
Αποδεικνύεται ότι υπάρχουν τέσσερις μέθοδοι delegate NSXMLParser που θα εφαρμόσετε για να αναλύσετε μια δομή δεδομένων XML: