, Je eerste watchkit van toepassing: de gebruikers,,,,,,,,,, 28, deel 2,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen. En voordat we naar de les, de basis van de ontwikkeling van de watchkit.We creëren een project in de aanvragen, de toevoeging van een watchkit van toepassing is, en het creëren van een van de grondbeginselen van de bu.,, we watchkit TOEPASSING BU een statische gegevens.Tenzij je in de woestijn in het leven, de toepassing van een weer niet erg nuttig.In deze handleiding met gegevens, zullen we met interfaces en het creëren van een operatie.De gebruikersinterface van vernieuwing, vervanging, wkinterfacedate stap 1:,, voordat we met de gegevens met interfaces, moeten we nu een kleine verandering.In de handleiding voor, dat we nog een voorbeeld van de bodem, wkinterfacedate, groep om blijk te geven van de huidige tijd en datum.Maar het zou nuttiger zijn, datum en tijd, we zijn de gegevens.De reden voor deze verandering zal snel duidelijk geworden.,, open de interface. Verhaal,, geschrapt, wkinterfacedate, op de bodem van het voorbeeld van het te gebruiken in plaats van de groep,, wkinterfacelabel, bijvoorbeeld.Een label , de breedte, de eigenschap , ten opzichte van de container en de etikettering van , aanpassing, aan de rechterkant.,,,,, stap 2: toevoeging van netwerken, en de dynamiek van de gebruikersinterface van bijgewerkte gegevens, moeten we in de interface, de verantwoordelijke voor de verwerking tot een minder verkooppunten, klasse.Het verhaal van de redacteur en open bestuur in , interfacecontroller.swift in, assistent - redacteur, aan de rechterkant.De keuze van de eerste groep in de etikettering van en controle op de Top van , van etiketten die , interfaces, de verantwoordelijke voor de verwerking, het creëren van een uitgang.Naam van de locationlabel,,.,, herhaal deze stappen, voor de rest van de etikettering, hun naam, datum, temperaturelabel, etikettering, respectievelijk.Dit is interface, controleur, eruit moet zien als je klaar bent, watchkit invoer, invoer op basis van interface tussen klasse, de verantwoordelijke voor de verwerking: wkinterfacecontroller {@ IBOutlet zwakke werk datum etikettering: wkinterfacelabel!@ IBOutlet zwakke var locationlabel:wkinterfacelabel!@ IBOutlet zwakke var temperaturelabel:wkinterfacelabel!Zware functie awakewithcontext (achtergrond: een object???????)- super. Awakewithcontext (het kader)} {///////willactivate () - functies van de tabel wordt deze methode oog voor de gebruiker meer zichtbaar is. Willactivate () () diddeactivate} {///////- functies van de tabel wordt deze methode niet langer zichtbaar meer oog Voor. Diddeactivate ()}}, nu wel een goed, de tijd zorgvuldig kijken naar de interface, de voor de verwerking verantwoordelijke uitvoering van klasse.In de handleiding voor, ik bedoelde de interface, controleur, erfenis, wkinterfacecontroller,.Op het eerste gezicht lijkt een wkinterfacecontroller, bijvoorbeeld, als voorbeeld, UIViewController,, maar we weten ook dat op een opleiding, zijn er enkele belangrijke verschillen.,, om ons te helpen, vulling, interfaces, voor de verwerking van aanvragen voor, drie herschrijven.Is het belangrijk om te begrijpen dat elke methode wordt toegepast, het kan of mag worden gebruikt. Awakewithcontect (_:,,,,,,, awakewithcontext) (_:), een interface voor je en starten.Misschien wil je weten hoe de verschillende methoden in, erin.En awakewithcontext (_:), de methode is om de interface voor na de start.Deze methode heeft een parameters om de interface voor informatie aan een andere context.Dit is de aanbevolen methode voor de overdracht van informatie die scène, controleur, wordt geactiveerd.,,,,,, te activeren, methoden vergelijkbaar zijn, viewwillappear (_:), dat UIViewController, methode.Bel wordt geactiveerd, voor de interface voor de gebruikersinterface voor de gebruiker.Dit is voor de aanpassing van voor de gebruikersinterface en biedt de gebruiker ideaal,,,,,,, diddeactivate, diddeactivate wordt geactiveerd, die overeenkomt met de methode, wanneer de oproep van de interface voor de scène is geschrapt.De code van een duidelijk zou zijn in deze benadering.Deze methode is vergelijkbaar met die van de viewdiddisappear (_:), in behandeling, dat voor,.,, gezien het bovenstaande, beginnen we watchkit gegevens - en actualisering van de aanvragen voor de gebruikers.Laten we beginnen met de gegevens van de belasting van het weer, 2.Je kan, rekening houdend met de volgende stap, met inbegrip van een weer een dienst, maar dit is niet een zaak.Als we de opbouw van een al van toepassing is voor u.Maar we zijn het creëren van een watchkit toepassing van complexe voorstellen doen. En niet de API - gegevens te verkrijgen om een watchkit TOEPASSING BU.Hoewel de appel niet expliciet wordt verwezen naar de in dit document niet genoemd, appel ingenieur appel ontwikkelaars van dit forum van een ongeschreven van beste praktijken, de toepassing van watchkit., is al een deel van de aanvraag, het IOS van toepassing is, op de achtergrond van het verkrijgen van gegevens op afstand.Er zijn verschillende manieren kunnen we te doen verkrijgen, de achtergrond is een goede keuze.Echter, in deze handleiding, ons niet concentreren op dit gebied.,. Integendeel, we zullen de uitbreiding van virtuele gegevens toe te voegen watchkit gebonden aan het laden, awakewithcontext (_:), we eerder besproken door de keuze van de methode, , het creëren van een blanco dossier, nieuwe > documenten van , ,... Het dossier , menu 's.De keuze van de , leeg, , 108 > in andere delen van de documenten en de naam van hola, weer.Controleer je dossiers in de regen watchkit , uit te breiden.Niet vergeten, deze kleine, maar belangrijke details.De volgende gegevens, documenten, vullen. {"locatie": [{"locatie": de "Macs", de "temperatuur": 24, "tijd": 1427429751} {"locatie": de Londense "," de temperatuur ": 11," tijd ": 1427429751} {" locatie ": Parijs", "de temperatuur": 9, "tijd": 1427429751} {"locatie": "Brussel", "de temperatuur": 11, "tijd": 1427429751}]}, uitwisseling van gegevens, en watchkit 108 toepassing van toepassing is een van de belangrijkste thema 's van de uitwisseling van gegevens tussen.Echter, deze les is gericht op Je eerste watchkit creëren en de toepassing ervan.In deze handleiding zal ik me concentreren op de toepassing van de fiscus en de uitwisseling van gegevens tussen de watchkit.,, zelfs als we het niet kunnen worden gedekt door het in deze handleiding van de uitwisseling van gegevens, te weten de toepassing en uitbreiding van de uitwisseling van niet - watchkit een zandbak is heel belangrijk.Het doel van een eigen zandbak, dit is de uitwisseling van gegevens lijkt te zijn dan de kleine delen van de fiscus en de watchkit.,, de toepassing van de gegevens tussen de groep, je moet het gebruik van toepassing.Maar dit is een onderwerp van deze handleiding.,, stap 1: toevoeging van swiftyjson, SWIFT, is één van de grote talen, maar een taak is eenvoudig in C dan bij SWIFT.Hola, zoals de verwerking, is een dergelijke taak.Met het oog op het werk gemakkelijker te maken, ik koos swiftyjson door de bibliotheek van github downloaden.,, bibliotheek, ontspannen, en de toevoeging van , swiftyjson.swift, tot regendruppels watchkit, uitbreiding van de groep.Dit dossier is gelegen in de , de bron, de opgeslagen gegevens.Controleer, , swiftyjson.swift, bij de , regen watchkit uitbreiding , doelstellingen,.,,,, stap 2: de toepassing van geavanceerde, makkelijker te maken, en de meteorologische gegevens weer werken. Hola, creëren we een nomenclatuur van de structuur van de geavanceerde,.De keuze van de nieuwe > documenten van de ...,,, , file menu kiezen , kortere dossier van , 108 > bron, en de naam van de documenten , geavanceerde,.Om ervoor te zorgen dat de documenten toe te voegen aan de , regen watchkit uitbreiding van de doelstellingen, de geavanceerde.,, de verwezenlijking van een eenvoudige structuur.Drie dezelfde definitie van de structuur van de aard, de locatie, de datum,,,,,,, de temperatuur bij de inlaat van de geavanceerde {datum, de infrastructuur te laten: NSDate standpunt: akkoord laat de temperatuur: dubbele}, omdat weather.json temperatuur in graden Celsius,,, wij beseffen dat de berekening van De prestaties temperatuur in graden Celsius, als, en de zee gemakkelijk tussen de omschakeling van fahrentheit, var, de temperatuur van het water: dubbele {* * * * * * * (9 /5) + 32), de definitie van twee aanvullende methoden, tocelciusstring,, tofahrenheitstring, zodat de temperatuur te formatteren.Hou je niet van snelle string te extrapoleren?,, tocelciusstring (functie) - > snaren {terugkeer "(temperatuur) ° C") functies tofahrenheitstring () - > snaren {terug "(fahrentheit) f"), en, zoals ik al zei, en de implementatie van geavanceerde, een eenvoudige structuur.Dit is dat eruit moet zien. En de invoer op basis van structuur, geavanceerde {datum: plaats: laten NSDate laten akkoord laat de temperatuur: Duplex: de temperatuur van het water fahrentheit dubbele {* * * * * * * (9 /5) + 32) functie tocelciusstring () - > snaren {terugkeer "(temperatuur) ° C") functies tofahrenheitstring () - > snaren {terug "(fahrentheit) f '}}, stap 3: de gegevens, voordat we de gegevens, het weer. Hola, moeten we een verklaring van een eigendom wordt gebruikt voor de opslag van meteorologische gegevens.Eigendom, geavanceerde, is -, meteorologische en [], bevat, weather.json, als een voorbeeld van geavanceerde, structuur, meteorologische]:VaR WeatherData. [=], ter bevordering van het gebruik van, we ook de berekening van de prestaties, het weer, geef ons de toegang tot geavanceerde voor, de in de eerste alinea, De generator.Dit is het, meteorologische gegevens, bijvoorbeeld, zullen we in de weergave van de verantwoordelijke voor de verwerking.Kan je raden waarom we moeten verklaren dat , het weer, de eigendom als een facultatieve?,, de VAR - weer. Weer?{terug weatherdata.first}, we laden de gegevens, weather.json, in , awakewithcontext (_:), de methode.De voortzetting van de uitvoering van schone, noemen we een extra aanpak noemen, loadweatherdata,.,, - functie awakewithcontext (achtergrond: een object???????)- super. Awakewithcontext (het kader) /belasting van meteorologische gegevens loadweatherdata ()}, loadweatherdata, is misschien wel de meest moeilijke uitvoering van de code, zien we in de les.Zoals ik al zei, niet de gewone snelle hola.Gelukkig is het zwaarste werk swiftyjson doen aan onze functie loadweatherdata.,, () {laat het pad = NSBundle. Mainbundle (). Pathforresource ("weer", type: "hola") als dat pad = weg - laat data = NSData (contentsoffile: pad) als om de gegevens = gegevens (waardoor de geavanceerde = hola (gegevens: gegevens om de positie van geavanceerde) = [plaats]. - als dat standpunt = positie {in positie {laat de tijd = positie "tijd"] [de dubbele locatie.Laat de datum = NSDate (timeintervalsincereferencedate: tijdstempel) laat model = geavanceerde (datum: plaats en datum: plaats [plaats]. Het touw!De temperatuur van de positie van de temperatuur,: "[].Zelf. Weatherdata. aanvullende (model)}}}}}, we hebben de route, weather.json, en de inhoud van de belasting als een NSData object.We swiftyjson hola, voorbij, NSData, object.We hebben een - een verwijzing naar de positie van de sleutel, en de ring in elke positie.,, we standaardisering van meteorologische gegevens van de tijd, NSDate, voorbeelden en nog een voorwerp, het weer.Tot slot, we voegen, geavanceerde, geavanceerde, object generator, en ik hoop dat u de uitvoering van overeengekomen is niet zo moeilijk.Als gevolg van de snelle dwingt ons wat onderzoek gedaan, ziet er beter uit dan de werkelijke uitvoering ingewikkelder is, 3.De gebruikersinterface en meteorologische gegevens klaar is, is het tijd om een actualisering van de gebruikersinterface.Zoals ik al eerder heb uitgelegd, vernieuwing van de gebruikers interface nodig heeft, zal er voor activering.Laten we kijken naar de toepassing van deze methode een kijk, - functie, willactivate () {///////noemen deze methode zien oog voor de gebruikers meer zichtbaar is. Willactivate () als het weer = self.weather {locationlabel. SetText (weer. De positie van de temperatuur van de nieuwe etikettering) /Meer zelf. Updatetemperaturelabel () /datum bijwerking etiket zelf. Updatedatelabel ()}}, na de activering, noemen, de vader van de methode, klasse, openen we de waarde van de opslag van de goederen, het weer.Om de positie van de etikettering, bellen we de setText, de waarde van de opslag van de goederen, langs de positie, het weer, object.Bijwerking van de temperatuur en de datum van de etikettering, bellen we de twee aanvullende methoden.Ik blijf liever, zal voor de activering, beknopt, maar, wat belangrijker is, ik hou niet van mezelf te herhalen. Dat, als we kijken naar deze aanvullende methoden, moeten we weten dat de temperatuur moet in Celsius of Fahrenheit.Om dit probleem op te lossen, een eigenschap van een verklaring, graden Celsius, het type, de bool, en de vaststelling van de oorspronkelijke waarde, echt,,,, de VAR - Celsius: bool = waar, updatetemperaturelabel uitvoeren, is het makkelijk te begrijpen.We openen de veilig opgeslagen in de waarde van het weer, gebaseerd op de waarde van de temperatuur in graden Celsius en actualisering van etiketten.Zie je, geavanceerde, twee aanvullende methoden, in het bijzijn van het creëren van onze structuur en functie van pas komen, updatetemperaturelabel () {als we weer = self.weather {als self.celcius {temperaturelabel. SetText (weer). Tocelciusstring (andere instellingen)} {temperaturelabel (weer). Tofahrenheitstring ()}}}, updatedatelabel uitgevoerd, maar het is niet moeilijk.We starten een , nsdateformatter, bijvoorbeeld, de eigenschappen, de datum en de omschakeling, het formaat, de datum, het weer, door een beroep te doen op de object, stringfromdate (_:), de dateformatter,,.Deze waarde is voor de actualisering van de datum, de functie van etikettering, updatedatelabel () {var. Datum: NSDate = nsdate () ///////- datum programma laat dateformattter = nsdateformatter () ///////toewijzing van datum dateformattter.dateformat = d /mm HH: mm "als je weer self.weather {datum} = = = = = = = weather.date /hernieuwing van het etiket etiket (dateformattter. Stringfromdate (datum), en de oprichting en de werking van de toepassing van de resultaten van zien.De gegevens moeten worden opgenomen in de gebruikersinterface nu weer. Hola,,,,,, 4.- naar de temperatuur in graden, dit ziet er goed uit.Maar als we met de steun van twee graden Celsius en graden Fahrenheit?Dat is makkelijk, want we hebben de meeste van de basis voor de gebruikers. Als de verplichte aan de gebruikersinterface voor gebruikersinterface, menu 's.Natuurlijk, het is maar een menu is beschikbaar.Laten we eens kijken hoe dit in zijn werk gaat. interface.storyboard,, open, en de toevoeging van een interface voor de menu 's, in "document aangeven, aan de linkerkant.Bij ontstentenis van een menu met een menu 's.We hebben twee menu 's, de toevoeging van een menu' s.,,,,, op het menu 's en de menu' s, en in de gebruikersinterface is niet aangetoond.Dit is niet een probleem, omdat we niet de lay - out van de toewijzing van het menu.We kunnen veranderen, is een menu 's en het beeld van de tekst.Je zou beter te begrijpen wat het betekent wanneer we op dit moment, de menu 's, de selectie van de top., menu' s, open de eigenschap Checker, , titel , graden Celsius, en , beelden, met , aanvaarden.De selectie van de bodem van de menu 's en de vaststelling van , titel , Fahrenheit, beeld, met , accepteren.,,,,, de volgende open interface, voor de verwerking van , . SWIFT, in , assistent - redacteur, aan de rechterkant. , controle op van de Top van de menu' s , interfacecontroller.swift, en het creëren van een actie die , tocelcius,.Herhaal deze stappen op de bodem van de menu 's, het creëren van een actie tofahrenheit, genaamd,,, de toepassing van deze maatregelen is van korte duur.In de tocelcius,, we controleren, graden Celsius, eigendom niet,,,,, en als dat zo is, hebben we een eigenschap, echt.In de , tofahrenheit,, we controleren, graden Celsius, eigendom,,,,, en als dat zo is, zullen we het eigendom niet,,,,, "ibaction functie tocelcius () {als!Self.celcius {}) "self.celcius = waar ibaction functie tofahrenheit () {als self.celcius {self.celcius = valse}}, als waarde, graden Celsius, verandert, moeten we de bijgewerkte BU.Wat is een betere manier om de voltooiing van de uitvoering van het eigendomsrecht waarnemer, graden en eigendom.We moeten alleen de verwezenlijking van een onroerend goed, didset waarnemers,.,, de VAR - Celsius: bool = echt {didset {als graden Celsius.Updatetemperaturelabel ()}}} {= eigenschap van de oude waarden, de details, het enige wat het waard is, de gebruikersinterface is als de waarde van de , graden Celsius alleen updates, is niet veranderd.Bijwerking van de bu op eenvoudige , updatetemperaturelabel, bouw en exploitatie van toepassing. watchkit - menu 's in de simulator.,,,,, voor wat het waard is, het IOS - simulator een fysieke reactie van de apparatuur.Wat is dit?Weet je nog, de uitbreiding van de werking van watchkit op de iPhone van toepassing is, watchkit appel kijken.Als de gebruiker op een menu, de aan de gebeurtenissen worden toegezonden aan de Bluetooth verbinding met de appels.Het proces van de uitbreiding van de gebeurtenissen en watchkit sturen updates appel horloge terug.In deze mededeling zeer snel, maar het is niet van toepassing op de uitbreiding en op dezelfde apparatuur die net zo snel.Die korte vertraging na het verkrijgen van de prestaties ten behoeve van de ontwikkelaars van 108 simulator idee.,, conclusies, als je met je hoofd in de toepassing van een watchkit architectuur, wordt het begrip van de eerste generatie watchkit mogelijkheden en beperkingen te vergemakkelijken.In deze handleiding, alleen betrekking heeft op de ontwikkeling van onze watchkit punten.Er is veel meer te ontdekken en onderzoek.Let op.