hurtig tip: domæneværdilister i swift -

, hurtigt tip: domæneværdilister i swift -,,,,, 21,,,,,,,,, 9,,,,,,, det cyber - mandag envato tuts + kurser vil blive reduceret til $3.- og' t miss.,, domæneværdilister er en fælles konstruktion mønster i mange programmeringssprog.mens du kan være bekendt med domæneværdilister i c - og objective-c, hurtig gennemførelse af undersøgelser, er betydeligt mere effektive og fleksible.i denne hurtige tips, du vil lære det særlige undersøgelser i swift, hvordan man bruger dem i deres projekter, og hvad gør dem så magtfuld.,, 1.hvad er en optælling?,, domæneværdilister er ikke ny, og de er ikke enestående for hurtigt.men hvis du er bekendt med domæneværdilister i c, så vil du elske swift 's magtfulde tage opremsninger.,, hvis enums eller domæneværdilister er nyt for dig, så du kan ikke være bekendt med, hvad de har at tilbyde.hurtig, domæneværdilister er første klasse former, at fastlægge en liste over mulige værdier for den pågældende type.,,, et eksempel kunne være muligt, af et netværk forbindelse.det er muligt, kunne være:,, det, der hænger sammen, kan vi tilføje en fjerde medlemsstat for staten er ukendt.med dette eksempel for øje, lad os se, hvordan til at definere og gennemføre en sådan tælling.,, grundlæggende spørgsmål, som jeg sagde, domæneværdilister er første klasse typer i swift.en domæneværdiliste definition ligner helt en klasse - eller struktur definition.i nedenstående eksempel, vi fastsætter, connectionstate, optælling.,, enum connectionstate {}, navnet på listen efterfulgt af den, enum, nøgleord og efterfulgt af et par curly bøjle.det, connectionstate, optælling, vil definere de mulige stater i en netværksforbindelse.at definere disse stater, vi tilføjer, medlem af værdier eller medlemmer, til tælling er definition.definitionen af et medlem værdi altid starter med  , sag,   nøgleord.,, enum connectionstate (sag ukendte tilfælde fra sag til sag forbundet}, i c eller objective-c, ovennævnte tælling ville se lidt anderledes, som illustreret i nedenstående eksempel.hver værdi af optælling, svarer til et heltal, f.eks.  , connectionstateunknown, er lig med 0, connectionstatedisconnected, er lig med 1, osv.), typedef enum: nsuinteger {connectionstateunknown, connectionstatedisconnected, connectionstateconnecting, connectionstateconnected} connectionstate,,, det er ikke sandt, hurtig.medlemmerne af en optælling ikke automatisk svarer med en heltalsværdi.medlemmerne af det, connectionstate, tælling er værdier, sig selv, og de er af en type, connectionstate,.det gør arbejdet med domæneværdilister sikrere og mere eksplicitte.,, rå værdier, er det muligt at udtrykkeligt angive værdier for de medlemmer af en optælling.i nedenstående eksempel, medlemmerne af det, connectionstate, optælling har en rå værdi af typen, int.hver medlemsstat tildeles en rå værdi, svarende til et heltal,.,, enum connectionstate: int (sag ukendt = - 1 sag usammenhængende = 0 sag, der forbinder = 1 tilfælde = 2}, bemærke, at vi præciserer arten af den rå værdier i tælling definition, og at der ikke er to forskellige værdier, kan have samme rå værdi.hvis vi kun angives en værdi for, ukendt medlem, så hurtigt vil automatisk forøgelse af værdien af den ukendte medlem og tildele enestående værdier til andre medlemmer af tælling.for bedre at illustrere dette nedenstående eksempel er identisk med den tidligere definition af  , connectionstate,   tælling.,, enum connectionstate: int (sag ukendt = - 1 sag fra sag til sag forbundet). 2.arbejder med undersøgelser, initialization, ved, connectionstate, optælling svarer til anvendelse af enhver anden type i swift.i det næste eksempel, vi erklærer en variabel, connectionstate, og dens værdi, connectionstate. forbinder,.,, var connectionstate = connectionstate. tilslutning, skal værdien af, connectionstate, er, connectionstate.connecting, og den variable er af typen, connectionstate,.,, swift 's type a priori er meget belejligt, når arbejder med undersøgelser.fordi vi har erklæret, connectionstate, som er af typen, connectionstate, kan vi nu udpege en ny værdi ved hjælp af stenografi dot syntaks for opremsninger.,, connectionstate =. forbundet, kontrol, flow, ved hjælp af undersøgelser i en, hvis, eller  , skifte erklæring er ligetil.kan du huske, at  , skifte udtalelser skal være udtømmende.tilføje en, misligholdelse, sag, hvis det er nødvendigt.,, enum connectionstate (sag ukendte tilfælde fra sag til sag forbundet} var connectionstate = connectionstate. forbinder connectionstate =. forbundet skifte connectionstate (sag. frakoblet. println ("lukket") sag. forbinder: println ("forbinder") sag. forbundet: println ("forbundet") standard: println ("ukendt tilstand"), følgende eksempel viser, hvordan, connectionstate, enum kan anvendes.det viser også, hvor adgang til de tilknyttede værdi af en enum medlem.det, canconnect, funktion, accepterer, connectionstate, f.eks. og vender tilbage, bool,.,, canconnect funktion (connectionstate: connectionstate) - > bool (var - resultat = falske skifte connectionstate (sag. forbundet (lad port): hvis havn = = 3000 {resultat = sandt} default: resultat = falske} tilbagevenden resultat} lad state = connectionstate. forbundet (3) hvis canconnect (staten) (//...},,, canconnect, kun fungere, vender tilbage  , sandt,  , hvis  , connectionstate,   instans gik til funktion er   svarende til  ,. forbundet,   og den tilhørende værdi, er en  , int,   svarende til  , 3000.bemærker, at den tilhørende værdi af forbindelse medlem er til rådighed i bytte, erklæring som en konstant ved navn, havn, som vi kan bruge i den pågældende sag,.,,, 3.   tilhørende værdier, en tvingende element af swift - enums er forbundet med værdier.   hvert medlem af en enum kan have en grænseværdi.tilknyttede værdier er meget fleksibel.for eksempel tilhørende værdier for forskellige medlemmer af samme enum behøver ikke være af samme type.tag et kig på følgende eksempel til bedre at forstå begrebet tilhørende værdier.,, enum connectionstate (sag ukendt sag lukket sag, der forbinder (int, dobbelt) tilfælde (int)),  , ukendt,   og  , afbrudt,   medlemmer ikke har en grænseværdi.den, der   medlem har en grænseværdi for type   (int, dobbelt), med angivelse af den havn, antal og timeout intervallet i forbindelse.den   hænger sammen,   medlem har en grænseværdi for type  , int, med angivelse af havnen nummer. det er vigtigt at forstå, at en tilsvarende værdi er knyttet til eller er forbundet med et medlem af tælling.den pågældende værdi forbliver uændret.det næste eksempel illustrerer, hvordan der kan skabes en  , connectionstate,   instans med tilhørende værdi.,, var connectionstate = connectionstate. forbinder (3, 0), 4.   metoder og værdi typer, metoder, domæneværdilister er ret kraftigt i swift.undersøgelser kan også fastlægge metoder, såsom en initializer at udvælge en misligholdelse medlem værdi, hvis ingen var angivet.,, enum connectionstate (sag ukendt sag lukket sag, der forbinder (int, dobbelt) tilfælde (int) lokalitet () (self - = ukendt) var connectionstate = connectionstate() //. ukendt, i det således har vi aktivere et tilfælde af, connectionstate, optælling, uden udtrykkeligt fastsætter en værdi for den.i initializer af tælling dog, sætter vi den instans, ukendt.resultatet er, at de, connectionstate, variable er lig med connectionstate. ukendt,.,, værdi - typer, som strukturer, domæneværdilister er værdi former, hvilket betyder, at en opregning er ikke vedtaget ved henvisning, som klasse tilfælde, men af værdi.følgende eksempel viser dette, var connectionstate1 = connectionstate() var connectionstate2 = connectionstate1 connectionstate1 =. forbundet (1000) println (connectionstate1) //. forbundet (1000) println (connectionstate2) //. ukendt, selv om vi tildeler, connectionstate1, til connectionstate2, er værdierne af  , connectionstate1,   og  , connectionstate2,   er forskellige i slutningen af f.eks.,, når  , connectionstate1, tildeles, connectionstate2, swift skaber en kopi af connectionstate1, og giver det til  , connectionstate2,.med andre ord,  , connectionstate1, og  , connectionstate2, henvise til to forskellige  , connectionstate tilfælde.,, konklusion, enums i swift - er utrolig kraftfulde sammenlignet med f.eks. enums i c. et af de mest magtfulde aspekter af undersøgelser er, at de er en førsteklasses typer i swift.type sikkerhed er et vigtigt aspekt af swift - sprog og domæneværdilister passer perfekt i denne tankegang,.,,



Previous:
Next Page: