Innholdsfortegnelse:
- Designe "gode" klasser
- Lag en type en underklasse av en eksisterende klasse eller bruk delegering
- Hurtig å finne og åpne relevante filer i Xcode
- Konfigurere atferd
- Opprette en. gitignore-filen
- Poppe opp en Alert-visning
- Åpne en nettleser fra appen din
- Konvertere en adresse til en geografisk plassering
- Testing for nettverksfunksjoner
- Startsensorer
Video: Oculus Quest Basics Tutorial 2024
Av Rajiv Ramnath
Selv om IOS kun har ca. 13 prosent av smarttelefonbrukere i USA, Programmene har en bruksandel på 55 prosent når du vurderer den tunge trafikken over Internett, og at iOS-enheter kjøpes av folk som ofte bruker enhetene sine. IOS kommer også med et godt designet Objective-C-basert programvareutviklingssett (SDK) med rik funksjonalitet for å gjøre utviklingsappene enkle og morsomme. Med andre ord er iOS et perfekt målmarked for en nyskapende apputvikler.
Komme i gang med Objektorientert IOS Programmering
IOS programmering, Objective-C, objektorientering og OO-design går sammen. Les videre for noen nyttige, raske tips til OO Design. Det er på tide å komme opp til fart!
Designe "gode" klasser
Dine klasser må være svært sammenhengende og løst koblet. Her er en sjekkliste for å raskt teste om en klasse er bra: Et "Nei" svar på noen av spørsmålene betyr at du kanskje må revurdere klassen din.
-
Kan du gi klassen et navn som fanger grunnen til å være?
-
Kan du gi den en beskrivelse som sier at det bare gjør en ting?
-
Har det ansvar (metoder)? Er alle ansvar i samsvar med beskrivelsen?
-
Har det samarbeidspartnere?
-
Opprettholder det - eller dets komponenter - lang levetid?
Lag en type en underklasse av en eksisterende klasse eller bruk delegering
Si at du trenger en type kalt Tiger, og det ser ut til å dele ansvaret til et dyr. Derfor prøver du å avgjøre om du skal erklære Tiger som en underklasse av en klasse som heter Animal, eller kanskje erklære en medlemsvariabel av typen Animal og delegere animalistisk ansvar til denne medlemsvariabelen.
Si disse to setningene høyt:
-
Tiger IS-A et dyr.
-
Tiger CAN-BE et dyr.
Hvis den første gir mer mening (som i dette tilfellet gjør det), bør Tiger være en underklasse av Animal.
Møte iOS App Metoder og plattformer
Når du skriver en iOS-app, er det svært viktig å forstå og veve appspesifikk kode i sin levetid. Prøver å finne ut hvilken livscyklusmetode som skal brukes? Sjekk denne listen:
-
Bruk willFinishLaunchingWithOptions for å gjøre noen behandling rett etter at appen starter og før den viser sitt første vindu, og før det har en gjenopprettet tilstand.
Du bruker vanligvis denne metoden for å kontrollere om oppstartsparametrene til appen (for eksempel en URL) er riktige. Du kan også sjekke miljøet der appen er lansert (for eksempel lanserte den på en iPad som har mulighet til å ringe til mobiltelefoner).For øvrig vil denne metoden ikke fungere på en enhet med en iOS-versjon som er eldre enn iOS 6.
-
Bruk didFinishLaunchingWithOptions til å gjøre noen behandlinger etter at du er sikker på at appen skal begynne.
Du kan for eksempel bruke denne metoden til å gjenopprette en global tilstand.
-
Bruk applicationDidBecomeActive for å starte en prosess som ble stoppet mens appen var inaktiv.
Du kan for eksempel begynne å lytte etter endringsendringer eller til og med oppdatere brukergrensesnittet med nye data.
-
Bruk applicationWillResignActive til å stoppe appen din mens brukeren gir oppmerksomhet til en annen aktivitet - for eksempel å svare på en telefonsamtale.
-
Bruk applicationDidEnterBackground for å frigjøre ressurser og lagre brukerdata sammen med nok appstatistikkinformasjon for å gjenopprette appen din til den nåværende tilstanden hvis den avsluttes senere.
Du kan bruke omtrent fem sekunder med behandling i denne metoden, så gjør ikke noen oppgaver som kanskje ikke avslutter - for eksempel å spørre brukeren.
-
Bruk applicationWillEnterForeground for å angre det du gjorde i applicationDidEnterBackground.
-
Bruk programmetWillTerminate til å gjøre noen endelige opprydningsoppgaver.
Gjør iOS-appene dine egnet til forbruk
IOS-programytelse er mer enn bakgrunnsprosesser. Noen få enkle triks kan spare tid og øke ytelsen. For den rette historien, sjekk disse tipsene.
Hurtig å finne og åpne relevante filer i Xcode
Bruk kommandoen Åpne raskt for å finne og åpne en fil på en bestemt linje, ved hjelp av filnavn, type eller et symbol i filen (som en variabel eller et funksjonsnavn), som følger:
-
Velg Fil → Åpne raskt.
-
Skriv inn tegn i navnet på filen eller symbolet du vil vise i søkefeltet.
-
Skriv en prikk etterfulgt av ett eller flere tegn i filnavnet.
-
For å få filen åpen på en bestemt linje, skriv et kolon etterfulgt av linjenummeret.
-
Velg en fil fra resultatlisten.
Denne dialogen lar deg også bestemme hvor du skal plassere en fil i Xcode. Bare trykk og hold CMD + OPT + SHIFT mens du dobbeltklikker på filen.
Konfigurere atferd
Du kan konfigurere hvordan Xcode reagerer på vanlige hendelser ved å angi atferd ved hjelp av Xcode → Preferences → Behavior Settings-siden for å angi atferdsinnstillinger.
Du kan for eksempel få et bestemt sett med faner når Xcode kjører appen din. Eller, hvis en bygning mislykkes, kan du få Xcode til å lagre et øyeblikksbilde og åpne feilsøkingsområdet i arbeidsområdet.
Opprette en. gitignore-filen
Xcode kan enkelt koble til med git, et populært kildekoden styringssystem. Hvis den brukes uten konfigurasjon, vil git forsøke å arkivere alt i et prosjekt, til og med filer med kompilert objektkode, kjørbare filer og midlertidige filer som brukes av Xcode.
For å fikse dette problemet må du opprette konfigurasjonsgit på riktig måte. For å gjøre dette, naviger til prosjektmappen og opprett en. gitignore-fil med følgende innhold:
OS X Finder. DS_Store # Xcode per bruker konfigurasjon *. modus1 *. modus1v3 *. modus2v3 *. perspektiv *. perspektivv3 *.pbxuser *. xcworkspace xcuserdata # Bygg produkter bygge / *. o *. LinkFileList *. hmap # Automatisk backup filer * ~. nib / *. swp * ~
Poppe opp en Alert-visning
Appen din trenger ofte å vise et varsel for å la brukeren få vite noe som skjedde, og at hun har et valg av handlinger. Her er en rask sjekkliste for hvordan du setter opp et varsel.
-
Implementér clickedButtonAtIndex -metoden i klassen som vil føre til at varselet dukker opp.
Følgende eksempelkode viser deg hvordan:
- (void) alertView: (UIAlertView *) alarmVis på clickedButtonAtIndex: (NSInteger) buttonIndex {if (buttonIndex == 0) {[selvspillNewGame];} annet hvis (buttonIndex == 1) {return;}}
-
Lag, initialiser og vis varselet.
Følgende kodestykke viser hvordan:
UIAlertView * alert = [[UIAlertView alloc] init]; [varsel setTitle: @ "Game Over!"]; [varsel settMessage: @ "Spill et annet spill?"]; [varsling addButtonWithTitle: @ "Yes"]; [varsling addButtonWithTitle: @ "No"]; [advarsel settDelegate: selv]; [varslingsutstilling];
Koble til iOS-appene dine
Ditt iOS-program må kanskje kommunisere med en rekke andre ressurser. Heldigvis har iOS-verktøykassen en rekke spesialiserte tilkoblinger. Plukk en opp og legg den til jobb.
Åpne en nettleser fra appen din
Her er en rask og skitten måte å få appen til å åpne en webside i en nettleser. Se følgende eksempelkode:
- (IBAction) helpViaBrowser: (id) avsender {[[UIApplication sharedApplication] openURL: [NSURL URLWithString: @ " // en.wikipedia.org / wiki / Tictactoe"]];
Ja, det er så enkelt!
Konvertere en adresse til en geografisk plassering
De fleste kartleggings- eller plasseringsbaserte programmer har et behov for å konvertere en tekststreng som inneholder en adresse eller et sted til geokodede koordinater. Heldigvis gir iOS-rammeverket en innebygd geokoder. Følgende kode viser hvordan du bruker geokoden:
… NSString * findString = [findTextField-tekst]; // strengen leses fra et tekstfelt [myGeocoder geocodeAddressString: findString completionHandler: ^ (NSArray * stedsmarkeringer, NSError * feil) {MKPlacemark * aPlacemark = [stedsmarkeringer objectAtIndex: 0]; // aPlacemark inneholder den geokode informasjonen …}]; …
Testing for nettverksfunksjoner
Det er en god ide å teste hvilke nettverksfunksjoner som er tilgjengelige før appen din prøver å bruke nettverket. Slik gjør du denne testen:
-
Du må ta med to ytterligere filer - nemlig Reachability. h og Reachability. m - fra Apple Developer-nettsiden til prosjektet ditt.
Du finner disse filene her: // utvikler. eple. com / Library / iOS / samplecode / Reachability / Reachability. glidelås.
-
Du må inkludere Reachability. h i koden din.
Følgende kodestykke viser deg hvordan du ser hvilket nettverk som er tilgjengelig:
+ (void) listKompetanse {// Testing for nettverket NSString * networkReachability = nil; Reachability * reachFacade = [Reachability reachabilityForInternetConnection]; NetworkStatus status = [nåFacade currentReachabilityStatus]; hvis (status == NotReachable) networkReachability = @ "No networkn"; ellers hvis (status == ReachableViaWiFi) networkReachability = @ "Wifi availablen"; ellers hvis (status == ReachableViaWWAN) networkReachability = @ "WAN availablen"; … [textVal appendString: networkReachability]; …}