Having Moro med YOLOKit
4
Del
Del
Del
Dette Cyber mandag Envato Tuts + kurs vil bli redusert å bare $ 3. Ikke gå glipp av.
opplisting samlinger i Objective-C er ofte ordrik og klumpete. Hvis du er vant til Ruby eller jobbet med Underscore eller Lo-Dash i Javascript, så vet du det er mer elegante løsninger. Det er akkurat det skaperne av YOLOKit tenkte da de laget denne kjekk liten biblioteket. YOLOKit slagord er Liste opp Foundation herlig Anmeldelser og de mener det.
1. Installasjon
Legge YOLOKit til en Xcode prosjekt er veldig lett med CocoaPods. Inkluder pod i prosjektets Podfile, kjører pod oppdatering fra kommandolinjen, og import YOLO.h uansett hvor du ønsker å bruke YOLOKit.
Hvis du ikke bruker CocoaPods, deretter laste ned biblioteket fra GitHub, legge relevante filer til prosjektet, og import YOLOKit header.
2. Bruke YOLOKit
YOLOKit har mye å tilby, men i denne rask spiss skal jeg bare fokusere på noen av metodene YOLOKit har i sitt repertoar.
Minimum og Maksimum
< p> La oss starte enkelt med utpakking av minimums- og maksimumsverdien av en matrise. . Ta en titt på følgende kodebiten for å se hvordan det fungerer
NSArray * tall = @ [@ (1), @ (2), @ (45), @ (- 12), @ (3,14), @ (384)]; //Minimumid min = numbers.min (^ (NSNumber * n) {return n.intValue;}); id max = numbers.max (^ (NSNumber * n) {return n.intValue;}); NSLog (@ "\\ nMin% @ \\ Nmax% @", min, maks);.
De ovennevnte kodebiten resultater i følgende resultat
MIN -12MAX 384
Syntaksen kan virke Odd og du kan lure på hvorfor min og maks ta en blokk, men dette faktisk legger mer makt til teser metoder. Du kan gjøre hva du vil i blokken for å finne ut hva som minimum og maksimum verdien i matrisen er. Følgende eksempel bør avklare dette
NSArray * ord = @ [@ "dette", @ "er", @ "a", @ "eksempel", @ "for", @ "alle"].; //Minimumid kortest = words.min (^ (NSString * n) {return (NSInteger) n.length;}); id lengste = words.max (^ (NSString * n) {return (NSInteger) n.length;} ); NSLog (@ "\\ nSHORTEST% @ \\ nLONGEST% @", korteste, lengste);.
KORTESTE aLONGEST alle
YOLOKit er
Dette kodebiten resultater i følgende resultat fleksibel og doesn 't klager om typen av blokk-argumenter. Men for å tilfredsstille kompilatoren, kastet vi returverdien av blokken til NSInteger, fordi det er hva det forventer
Filtrering Arrays
Velge &.; Avvise
Det finnes en rekke metoder for å filtrere arrays, inkludert velger og forkaster. . La oss se hvordan vi kan filtrere rekke tall og ord vi opprettet tidligere
NSArray * filteredNumbers = numbers.select (^ (NSNumber * n) {return n.intValue > 10;}); NSLog (@ "filtrert TALL \\ n% @ ", filteredNumbers); NSArray * filteredWords = words.reject (^ (NSString * n) {return n.length < = 2;}); NSLog (@" filtrert ORD \\ n% @ ", filteredWords );
Du må innrømme at dette er veldig fint å se på. Det er konsis og svært leselig. Arrays i eksemplene ovenfor er enkle, men merk at du kan bruke arrays som er mye mer komplisert enn dette. Følgende eksempel illustrerer dette
NSArray * folk = @ [person1, person2, person3, person4, person5, person6];. NSArray * hanner = people.select (^ (Person * p) {return p.sex == 0;}); NSArray * hunner = people.reject (^ (Person * p) {return p.sex == 0;});
undergrupper
YOLOKit definerer også første og siste, men de skjønner 't gjøre hva du forventer at de skal gjøre. Med andre ord, de er ikke tilsvarende NSArray sin firstObject og lastObject metoder. Med første og siste kan du opprette en undergruppe fra den opprinnelige matrisen. Ta en titt på følgende eksempel
NSArray * subsetNumbers = numbers.first (3);. NSArray * subsetWords = words.last (2); NSLog (@ "undergruppe TALL \\ n% @", subsetNumbers); NSLog (@ "undergruppe ORD \\ n% @", subsetWords);.
De ovennevnte kodebiten resultater i følgende resultat
undergruppe TALL (1 , 2, 45) undergruppe ORD (for, alle)
Manipulere Arrays
Sorterings
Sortering en matrise er trivielt med YOLOKit. La oss se hva det tar å sortere rekken av tallene vi opprettet tidligere. Så enkelt er det
NSArray * sortedNumbers = numbers.sort.; NSLog (@ "% @", sortedNumbers);
Uniquing
En av fordelene med å bruke NSSet er at den ikke inneholder like objekter. Men uniquing en rekke gjenstander er trivielt med YOLOKit. La oss legge til noen ekstra tall med YOLOKit sin concat metode og deretter unike rekken med Uniq
//Concatenatenumbers = numbers.concat (@ [@ 1 @ 2, @ 3 @ 4]),. NSLog (@ "CONCAT % @ ", tall); //Unique & Sortnumbers = numbers.uniq.sort; NSLog (@ "UNIQ% @", tall);
Har du lagt merke til jeg også sortert array ved kjeding uniq og sortere? Målet er ikke å slå Objective-C-kode i Ruby eller Javascript, men jeg er sikker på at du enig i at kodebiten er kortfattet, og veldig lett å lese og forstå
Vending &.; Shuffling
//ReversingNSArray * reversedNumbers = numbers.reverse; //ShufflingNSArray * shuffledWords = words.shuffle; NSLog (@ "MOTSATT \\ n% @", reversedNumbers); NSLog (@ "stokket \\ n% @", shuffledWords);.
De ovennevnte kodebiten resultater i følgende resultat
snudd (384, "3,14 "," -12 ", 45, 2, 1) stokkes (for, er, alle sammen, eksempelvis en, dette)
Andre metoder
Det er mange andre metoder for å arbeide med matriser, som rotering, prøve, uten, sett, transponere, etc. Jeg oppfordrer deg til å bla YOLOKit på GitHub for å finne ut mer om dem.
Det finnes også metoder som kan brukes med NSDictionary, NSNumber, og NSString . Følgende kodebiten viser deg hvordan du kan konvertere en streng til en rekke ord
id wordsInString = @ "Du lever bare en gang Høyre.?" Split (@ ".");. NSLog (@ "STRING% @", wordsInString); STRING (Du, bare leve, "en gang.", "Right?")
3. Hensyn
Kode Ferdigstillelse
På grunn av YOLOKit er merkelig syntaks, Xcode vil ikke være til stor hjelp når det gjelder å kode ferdigstillelse. Den vil vise deg en liste over forslag til YOLOKit metoder, men det er omtrent det. Hvis du ønsker å bruke YOLOKit, har du lære syntaksen.
er ytelse
YOLOKit ikke optimalisert for ytelse som denne GitHub problemet viser. Men, det gjør koden din penere og mer lesbart. Ved hjelp av en for løkke til løkke over en array vil være raskere og mer performant enn YOLOKit metoder og det er viktig at du holder dette i bakhodet.
Konklusjon
Må jeg anbefale YOLOKit? Ja og nei. Ovennevnte betraktninger bør ikke holde deg fra å bruke YOLOKit, men pass på at du ikke bruker YOLOKit om ytelsen er viktig, fordi det finnes bedre alternativer tilgjengelig lignende den gode gamle for loop.
Den lange av den korte er at du bør bare bruke YOLOKit hvis du føler at det gir merverdi til prosjektet. Også vurdere at dine kollegaer trenger å lære og sette pris YOLOKit sin syntaks. Jeg tror YOLOKit er et flott prosjekt som tydelig viser hvor utrolig uttrykks Objective-C kan være. For meg er det den viktigste lærdommen jeg ta unna YOLOKit.