Ontwerp -: ontwerp -:

delegaties,,,,,,,,,, 25, eenheid 3,,,,,,,, de delen van het netwerk, maandag wat in tuts + koers zal dalen tot slechts drie dollar.Niet' niet missen, waarbij vormen., de fiscus en de OS X in de ontwikkeling van de meest voorkomende model.Dit is een eenvoudig model, door in het kader van de appel, zelfs in de meest simpele IOS - aanvragen met behulp van het werk van de delegaties veel gebruikt.Laten we eerst kijken naar de definitie van de delegatie, 1.De delegatie is?, de definitie, de delegatie van de definitie van de korte en eenvoudige wijze is.Dit is hoe de definitie van appel -, een vertegenwoordiger van een voorwerp, of in met een voorwerp in een programma met een gebeurtenis die de coördinatie van de objecten.De delegatie heeft betrekking op twee onderwerpen vormen, voor de Commissie en de toegestane doel.Klasse, uitableview, bijvoorbeeld de definitie van een eigenschap, vertegenwoordigers van het incident, vertegenwoordiger.De Commissie moet in overeenstemming zijn met de   eigendom, uitableviewdelegate, overeenkomst, dit is goed, uitableview, gedefinieerd in klasse,,, in dit geval de Commissie, overzichtstabel voorbeelden.De Commissie is over het algemeen een oog voor, maar het is geen object kan, in overeenstemming met de  , uitableviewdelegate, overeenkomst.Als je niet vertrouwd zijn met de overeenkomst, een soort aan een overeenkomst, als zij dat nodig voor de overeenkomst.We kijken naar een voorbeeld, als de gebruikers., op een rij in de tabel van mening, overzichtstabel in kennis te stellen van de Commissie door toezending van een bericht, tableview (_:didselectrowatindexpath:).Deze methode is de eerste parameter Overzichtstabel van de boodschap.Het tweede argument is de gebruiker op de index van de rij weg.,, de schijnbare alleen de Commissie in kennis van de gebeurtenissen.Het is samengesteld uit vertegenwoordigers van beslissen wat er moet gebeuren als het voorval zich heeft voorgedaan.   deze scheiding van taken, het zou je in een oogwenk leren, is een delegatie van de essentiële belangen van de mode.,,,, de voordelen, de herbruikbaarheid, een van de vele voordelen van een delegatie, is het hergebruik.Omdat de schijnbare namens de gebruikers voor de opdracht, dus hoeft het niet te weten wanneer het door de mijnbouw moeten gebeuren, maar het verschil is, kan de gebruiker de overzichtstabel van de toepassing van de programma 's om de details weten.Deze verantwoordelijkheid is gemachtigd vertegenwoordiger, zoals een oog voor de directe voordelen.,,, uitableview, kan worden gebruikt als in de meeste gevallen is.Het grootste deel van de tijd, niet nodig om zich aan te passen aan de subklasse, vorm van toepassing.,, los te koppelen en de andere leden van de delegatie is een belangrijk voordeel van los te koppelen.In de mijn een artikel over alleenstaande, wil ik beklemtonen dat het strak en dient zoveel mogelijk te worden vermeden.De delegatie is een ontwerp - model en de actieve bevordering van los te koppelen.Wat bedoel ik?,,, uitableview, gekoppeld aan de vertegenwoordigers van zijn werk doen.Als er geen verband met de tabel van mening zijn standpunt niet kan verwerken of op verzoek van een gebruiker van interactie.Dit betekent dat de noodzaak van een zekere koppeling.De vertegenwoordigers van de standpunten en het is echter los te koppelen, omdat elke klasse te bereiken, uitableviewdelegate, kan een overeenkomst als de vertegenwoordiger van de schijnbare.Het resultaat is een flexibel, los te koppelen van de kaart, scheiding van verantwoordelijkheden, een klein voordeel, de delegatie is scheiding van verantwoordelijkheden.Als je een object van kaarten, is het van belang te weten welke voorwerpen voor welke taken.De delegatie heeft dit zeer duidelijk patroon in.,,, uitableview, in het geval van een overzichtstabel van de gebruikers, die verantwoordelijk is voor de behandeling van interactie.Overzichtstabel van de gebruiker zelf verantwoordelijk is voor het onderzoek.Dit is een duidelijke scheiding van taken.Deze scheiding maakt je werk eenvoudiger en duidelijker.De delegatie heeft een patroon van smaak.Laten we blijven zoeken, uitableviewdelegate, overeenkomst,.,,, de delegaties,  , uitableviewdelegate,   Protocol moet door de voor de uitvoering van de schijnbare.De Commissie stelt door middel van een overzichtstabel  , uitableviewdelegate, interactieve afspraken, maar ook vertegenwoordigers van het gebruik van de lay - out van SWIFT en C.,, een belangrijk onderscheid kan worden aangemerkt als facultatief protocol.In een protocol in C, de methode moet de standaard.De overeenkomst, uitableviewdelegate, methode, maar zijn facultatief.Met andere woorden, een soort aan, uitableviewdelegate dit mogelijk is, zonder de uitvoering van een overeenkomst voor de,, snel. Echter, in overeenstemming met een specifieke overeenkomst nodig hebben voor de uitvoering van de overeenkomst voor de definitie van elk een.Het is veiliger omdat de klant niet moet worden nagegaan of het voorwerp van de overeenkomst belast zijn met de uitvoering van de methode.Deze delicate, maar het is belangrijk dat in deze richtsnoeren, bereiken we de delegatie een bron van gegevens vormen, en op een andere wijze is nauw verbonden met de delegatie - bron van gegevens vormen.De overeenkomst, uitableviewdatasource, is een voorbeeld van een dergelijk patroon.En uitableview, vermeldt, een bron van gegevens is, de aard van de goederen  , uitableviewdatasource,   (id < uitableviewdatasource > in de in c).   betekent dit dat de standpunten van de bron van gegevens kan worden van een object, dat  , uitableviewdatasource, overeenkomst, een bron van gegevens, die verantwoordelijk is voor het beheer van de gegevens betreft. Het is de bron van gegevens betreft.Het is belangrijk om op te merken is, gegevens van de voorwerpen die verantwoordelijk zijn voor het doel, zoals de tabel van mening of die van verwijzingen naar het doel van de mening van de tabel van mening, zoals, bijvoorbeeld, de bron van gegevens, met het verzoek om aan te tonen dat het de vereiste gegevens.Tabel van mening is niet verantwoordelijk voor het behoud van een opgeslagen gegevens het voorwerp van een object.Deze rol aan de bron van gegevens betreft, de bron van gegevens vormen, en is niet van toepassing op, model - oog - controle, of hij het patroon.Waarom is dit zo?Bijvoorbeeld, de overzichtstabel is een deel van het oog).Het moet niet wist niet dat model, en die verantwoordelijk is voor de behandeling van de gegevens uit het model laag.Dit betekent dat een overzichtstabel van de bron van gegevens vormen een bron van gegevens, of dat een andere componenten, meestal is het een soort van controleurs.Op 108, dit is meestal een UIViewController,,,,, een bron van gegevens voor het volgen van de ondertekening van het protocol voor een overeenkomst van hetzelfde model.Doel om een boodschap te sturen naar de bron van gegevens, als eerste argument.De overeenkomst moet worden gedefinieerd en een bron van gegevens in verband met het doel van het verzoek de gegevens die zijn gebruikt voor de lijst van mening, zoals, bijvoorbeeld, het aantal vereiste gegevens en, het moet laten zien.Maar het is ook aan de lijn door invoeging of schrapping van gegevens of van een deel van de bron.De laatste is belangrijk, omdat het een bron van gegevens moet worden bijgewerkt om rekening te houden met de in de tabel zijn oog zichtbare veranderingen.Als een overzichtstabel en bron van gegevens, gebeuren er slechte dingen.De uitvoering van de uitvoering van de wijze van vertegenwoordiging, C,, heel simpel, we weten nu hoe het werkt.Zie de volgende voorbeelden zien, C. Invoer,&#< werken /werken. H > @ protocol additemviewcontrollerdelegate; @ interface additemviewcontroller:UIViewController @ eigendom (zwak, de niet - nucleaire) id < additemviewcontrollerdelegate > vertegenwoordiger van het sluiten van de overeenkomst; @ @ additemviewcontrollerdelegate < NSObject > - (viewcontrollerdidcancel ongeldig): (additemviewcontroller * * * * * * *) - (b); standpunten: het oog (additemviewcontroller * * * * * * *) (* * * * * * * didadditem: nsstring project); @ facultatief (bool) van mening: oog (additemviewcontroller * * * * * * *) (* * * * * * * validateitem: nsstring project); "de laatste, we hebben een verklaring van klasse, additemviewcontroller, de uitbreiding, de,,.Het heeft een eigenschap, vertegenwoordiger, het type, de id < additemviewcontrollerdelegate >,.Let op, deze eigenschap wordt gekenmerkt als zwak. Dit betekent dat, additemviewcontroller, zoals behoud van zwakke referenties zijn vertegenwoordiger.,, zorg, ik voeg een verklaring in het kader van de overeenkomst op lange termijn werken in de verklaring.Dit is noodzakelijk om te vermijden dat de waarschuwingen van de samensteller.We kunnen naar de volgende verklaring zal de overeenkomst de invoer van de verklaring, maar ik wil het in de volgende klassen Interfaces.Het is maar een persoonlijke voorkeur, de verklaring van overeenstemming is heel eenvoudig.De uitbreiding van de  , additemviewcontrollerdelegate, overeenkomst protocol, NSObject.Het is niet verplicht, maar het is heel nuttig zal blijken te zijn.We vinden, waarom is dit een beetje laat voor de  , additemviewcontrollerdelegate.,,, de verklaring van overeenstemming van de twee methoden nodig en een alternatieve methode.Zoals ik al eerder zei, door de Commissie voor elke opdracht aan de vertegenwoordigers van de voorwerpen voor boodschap eerste parameter is een goede praktijk, de methode, de vereiste. Kennisgeving aan vertegenwoordigers van een gebeurtenis, geannuleerd of verhoogd.Alternatieve methode voor het verzoek om feedback te vertegenwoordigen.De Commissie is het hoop terug, of niet, dit is de delegatie van de eerste stukje van de puzzel.We hebben een soort verklaring, die verklaring een, het mandaat, de eigenschappen en wij hebben de verklaring van een overeenkomst.Het tweede deel van de puzzel van de methode van de oproep aan de Commissie, additemviewcontroller, klasse.Laten we eens zien hoe het werkt. Additemviewcontroller,,,, de tenuitvoerlegging, de uitvoering van een actie, geannuleerd.Deze actie kan worden aangesloten op de gebruikersinterface in een druk op de knop.Als de gebruiker te klikken, vertegenwoordiger op de hoogte van dit incident, als gevolg van een vertegenwoordiger van additemviewcontroller, bijvoorbeeld kan verwerpen,.,, - (ibaction) ingetrokken: (ID) (als de afzender (self.delegate & & [self.delegate respondstoselector:@ - (viewcontrollerdidcancel:)]) {[self.delegate viewcontrollerdidcancel: zelf;]} voor de bevestiging van de Commissie), en niet het voorwerp van de opdracht in het kader van de tenuitvoerlegging van nul, en we willen noemen, viewcontrollerdidcancel:,.Dit is eenvoudig   bedanken, respondstoselector:,,, NSObject verklaringen, protocollen.Dit is de reden waarom  , additemviewcontrollerdelegate NSObject overeenkomst, Protocol te verlengen.Door de uitbreiding van de overeenkomst, NSObject, we hebben dit aspect is gratis, kan dat niet aan. En eigendom, zonder controle, respondstoselector: sinds de terugkeer van nul, als Commissie, eigendom, nul.Ik meestal met dit onderzoek, want het toont duidelijk aan dat we aan het testen, van de derde en laatste stukje van de puzzel is in opdracht van de Commissie betreft de tenuitvoerlegging van de overeenkomst.Het volgende fragment toont een voorbeeld van, additemviewcontroller creëren, en de voor de uitvoering van een opdracht.,, - (ibaction) nooit: (ID) {///////- oog voor de standpunten van de afzender additemviewcontroller * = [...] [...] additemviewcontroller toewijzing ervan; ///////oog voor de standpunten van de setdelegate:[zelf]; ///////oog voor oog [zelf presentviewcontroller: dynamisering: is voltooid: de nul];},, - (nietig) viewcontrollerdidcancel: (additemviewcontroller * * * * * * *) {///////oog Voor oog aan de post...}, vergeet niet te voldoen aan de klas als vertegenwoordiger van de  , additemviewcontrollerdelegate, zijn het volgende overeengekomen.Je kan deze interface of in een privé - uitbreiding van de categorieën, de invoer, de&#"additemviewcontroller. H" @ interface oog () < additemviewcontrollerdelegate > @, snel, snel, waarbij vormen, is net zo makkelijk als dat, vind je snel konden de delegaties iets eleganter.Laten we een voorbeeld voor de uitvoering van de bovengenoemde voorbeelden snel.Wat is dit, additemviewcontroller, zoals SWIFT.,, invoer additemviewcontrollerdelegate:nsobjectprotocol {functies werken viewcontrollerdidcancel (Overeenkomst van mening: oog (oog additemviewcontroller). Functie: additemviewcontroller, didadditem: (...) de functies van mening (van mening: additemviewcontroller, validateitem: string) - > booleaanse} additemviewcontroller UIViewController: {VAR vertegenwoordigers: additemviewcontrollerdelegate?(functie: een object van de afschaffing van de afzender) {vertegenwoordiger?. viewcontrollerdidcancel (zelf)}},, verklaring van overeenstemming snel ziet er iets anders uit.Let op,  , additemviewcontrollerdelegate, de verlenging van de overeenkomst, nsobjectprotocol, in plaats daarvan, NSObject protocol.De SWIFT - overeenkomst, en niet met dezelfde naam, en dat is de reden waarom het protocol is, NSObject SWIFT verschillende namen.,,, dat representatief is voor het type, een variabele additemviewcontrollerdelegate?,.De naam van de in het protocol dat aan het einde van het vraagteken.Die eigenschap is facultatief.,, in de afschaffing van (_:), methoden, we bellen, viewcontrollerdidcancel (_:), de Commissie daarvan.Deze lijn laat zien hoe snel kan Grace.We open zijn veilig, in opdracht van de goederen voor de oproep aan de Commissie voor.Als die belast zijn met de uitvoering van viewcontrollerdidcancel niet moet worden gecontroleerd (_:), omdat een van de eisen van de overeenkomst door snel.,, laten we nu eens kijken naar de verantwoordelijke voor de verwerking, de klasse, dat  , additemviewcontrollerdelegate, overeenkomst.De interface, de standpunten en uitbreiding, de verwerking, de door het gebruik van klasse  , additemviewcontrollerdelegate werken, overeenkomst, klasse van mening, invoer: {functie, additemviewcontrollerdelegate additem (sturen: een object) {///////- oog voor oog, laat additemviewcontroller () ////////viewcontroller.delegate = toewijzing oog voor de verantwoordelijke voor de verwerking zelf van mening presentviewcontroller. Echt, animatie:, de voltooiing van viewcontrollerdidcancel (functie: geen)} {///////Controller:additemviewcontroller) projecten met oog voor de...} de functie van mening (van mening: additemviewcontroller, didadditem: string) {} de functie van mening (van mening: additemviewcontroller, validateitem: string) - > booleaanse {}}, in, additem (_:), methoden, we starten  , additemviewcontroller, aanleg, in opdracht van eigendom, en De presentatie van de gebruiker.Dat hebben we dat elke zending van de   methode, additemviewcontrollerdelegate, overeenkomst.Als we dat niet doen, zullen we de vertellen, verantwoordelijke, niet in overeenstemming is met de  , additemviewcontrollerdelegate, overeenkomst.Probeer deze opmerkingen voor een opdracht.,,,,, conclusies, de delegatie is een model, je komt vaak in de ontwikkeling van de fiscus en de OS X van toepassing is.Coco is in grote mate afhankelijk van deze ontwerp -, dus het is belangrijk om vertrouwd te raken met het blok. Omdat het een paar jaar geleden, de appel hebben geleidelijk een alternatief wordt geboden voor de grondstoffen op basis van blok van de delegaties te bereiken.Wat de ontwikkeling van het personeel hebben de appel voorsprong, om z 'n module als basis van de alternatieven.De epidemie AFNetworking bibliotheek, bijvoorbeeld, is in grote mate afhankelijk van de dollar in plaats van delegaties, resulterend in een elegante, intuïtief API.

Swift Protocol Implementation Warning



Previous:
Next Page: