Hjem Sosiale medier Hvordan du bruker UIApplicationMain til å utvikle din iOS-app - dummies

Hvordan du bruker UIApplicationMain til å utvikle din iOS-app - dummies

Innholdsfortegnelse:

Video: Slik bruker du kart og kompass 2024

Video: Slik bruker du kart og kompass 2024
Anonim

Funksjonen UIApplicationMain er viktig for utviklingen av iOS app. Den oppretter applikasjonsobjektet (en singleton - det eneste - UIApplication-objektet) og -applikasjonen (en klasse opprettet for deg av Xcode-malmen). Den oppretter også hovedhendesløyfen, inkludert appens run loo p og begynner å behandle hendelser.

UIApplication gir kontroll over hele applikasjonen

UIApplication-objektet gir kontroll over hele systemet og koordinering for en iOS-app. Det er ansvarlig for å håndtere den første rutingen av innkommende brukerhendelser, samt for å sende handlingmeldinger fra kontrollobjekter til de aktuelle målobjektene.

Programobjektet sender meldinger til applikasjonsdelegatet for å tillate deg å svare på en applikasjonsuniversell måte, for eksempel programmeringsstart, varsler om lavt minne og tilstandsoverganger som for eksempel å flytte inn i bakgrunnen og tilbake til forgrunnen.

Delegering er en mekanisme som brukes til å unngå underklassering av komplekse UIKit-objekter, for eksempel UIApplication-objektet. I stedet for subclassing og overordnede metoder i et rammeverk eller annet objekt, går du videre og bruker det objektet uendret og velger å sette din egendefinerte kode i et delegatobjekt i stedet.

Objektet Delegering for applikasjon er ansvarlig for å håndtere flere kritiske systemmeldinger og må være til stede i alle iOS-appene. Objektet kan være en forekomst av hvilken som helst klasse du vil, så lenge den vedtar UIApplicationDelegate-protokollen. I malen finner du at det er en underklasse av UIResponder, som gjør det mulig å svare på og håndtere hendelser. (UIApplication er også avledet fra UIResponder.)

Metodene til denne UIApplicationDelegate-protokollen samsvarer med atferd som trengs i programmets livssyklus og er din måte å implementere denne tilpassede oppførelsen på. Du vil ofte finne deg selv å skrive kode for å håndtere følgende:

  • Initialisering i søknadens delegatets søknad: didFinishLaunchingWithOptions: metode.

  • Statlige overganger som for eksempel å flytte inn og ut av bakgrunn og forgrunn.

  • Advarsler om lavminnet.

UIApplication er et singleton-objekt. For å få en referanse til det, sender du fellesApplication-meldingen til UIApplication-klassen. Sender objektet meldingen gir deg en peker til delegatobjektet:

AppDelegate * appDelegate = [[UIApplication sharedApplication] delegate];

UIApplicationMain laster storyboard

Hvis programmets Info.plist-filen spesifiserer en storyboard-fil, laster UIApplication-funksjonen den. Appens Info. plistfilen gir et kart til høynivåkonstruksjonen i appen.

For å se filen, velg den under overskriften Supporting Files i Project navigator. Filen vises pliktfritt i redigeringsområdet.

A nib filen er en ressursfil som inneholder spesifikasjonene for ett eller flere objekter, og brukes til å opprette brukergrensesnittet grafisk ved hjelp av grensesnittbygger i apper når du har valgt ikke å bruke et storyboard.

Hvis du bruker et storyboard, er den opprinnelige visningsregulatoren instantiated for deg. Innstillingen for innledende visningskontroll er en egenskap for visningskontroll. Den er satt for deg av de fleste Xcode-malene.

Merk av i avmerkingsboksen i View Controller-attributter i Utility-området. I iPad storyboard-filen er opprinnelig kontroller en Split-kontroller som ble inkludert i malen. Nib-loader vil også instansere både navigasjonsstyrere og deres rotasjonsvisningskontrollere.

I iPhone-storyboard-filen er opprinnelig kontroller en navigasjonsstyring som bruker en tabellvisningskontroll som sin rotasjonskontroll.

UIApplication sender programmet: didFinishLaunchingWithOptions: melding til sin delegat

Hvis metoden er implementert i applikasjonsdelegatet, sendes programmet: didFinishLaunchingWithOptions: melding til applikasjonsdelegatet.

Starttidspunktet er et spesielt viktig punkt i en applikasjons livssyklus. I tillegg til at brukeren starter en app ved å trykke på ikonet, kan en app lanseres for å svare på en bestemt type arrangement. En valgordbok passert til programmet: didFinishLaunchingWithOptions: Metoden gir informasjon om årsaken til lanseringen.

Søknaden: didFinishLaunchingWithOptions: Meldingen sendes til representanten når appen har lansert og storyboardet er lastet inn. I dette trinnet, som du vil se, skal du initialisere og konfigurere appen din. På det tidspunktet denne meldingen er sendt, er appen din i inaktiv tilstand. På et tidspunkt etter at denne metoden kommer tilbake, blir appen din aktiv og vil motta programmetDidBecomeActive: melding når den går i forgrunnen .

Ideelt sett får du brukerne dine direkte inn i appen så raskt som mulig uten de utdaterte velkomstskjermer. Faktisk er måten du gjør dette på å gi en eller flere lanseringsbilder som du vanligvis plasserer i appens batelliste.

Et lanseringsbilde er bakgrunnen til den første skjermen brukeren ser. En enkel måte å opprette dem på er å sette et bruddpunkt i en viewDidLoad-metode for den første visningen brukeren vil se. Stopp handlingen rett før du legger til noen data i visningen.

Ved kjøring vil lanseringsbildet for riktig enhet og orientering bli presentert umiddelbart, og hvis du ser veldig nøye ut, kan du se at innholdet ser ut til å bli plassert raskt på bakgrunnen.

Klassens grensesnitt (deklarert i.h-fil) lister opp meldingene som et objekt i den klassen kan svare på. Den faktiske koden for å implementere en melding kalles en metode og vil bli funnet i den tilknyttede. m-fil. Når du vil ha et objekt, utfører en metode, sender du den en melding. Meldingen er hvilken du vil ha gjort, mens metoden er hvordan å gjøre det.

Ikke legg inn store datastrukturer som appen din ikke vil bruke med en gang. Hvis appen din krever tid til å laste inn data fra nettverket, får du grensesnittet oppe og går først, og start deretter oppgaven som tar lengre tid på en bakgrunnstråd.

I mallene som ikke bruker et storyboard, tillater programmet: didFinishLaunchingWithOptions: metoden og initialiserer vinduet og Split-kontrolleren, legger alt til i vinduet og gjør vinduet synlig.

I en storyboard-basert app gjøres alt dette av storyboardet for deg, og programmet: didFinishLaunchingWithOptions: Metoden gjør ingenting annet enn å returnere.

Hvordan du bruker UIApplicationMain til å utvikle din iOS-app - dummies

Redaktørens valg

Bruk skjermfeltet til å endre QuickBooks 2014 Rapporter - dummies

Bruk skjermfeltet til å endre QuickBooks 2014 Rapporter - dummies

Skjermbildet i QuickBooks Modify Report dialogboksen lar deg kontrollere rapportintervalldatoen, rapportgrunnlaget, kolonnene og en annen formatering. Bokstavene Rapporter datoområde - Datoer, Fra og Til - gjør det samme som Datoer, Fra og Til bokser i Rapportvinduet. Disse boksene lar ...

Bruk skjermfeltet til å modifisere QuickBooks 2013 Rapporter - dummies

Bruk skjermfeltet til å modifisere QuickBooks 2013 Rapporter - dummies

Hvis du klikker Tilpass rapport, QuickBooks viser dialogboksen Endre rapport, som du kan bruke til å tilpasse en rapport. Når du tilpasser en rapport, endrer du rapportens utseende, layout og informasjonen som den oppsummerer. Dialogboksen Endre rapport ser annerledes ut for ulike rapporttyper. Likevel, hvis du ser forbi ...

Bruk fanen Filtre til å modifisere QuickBooks 2014 Rapporter - dummies

Bruk fanen Filtre til å modifisere QuickBooks 2014 Rapporter - dummies

Filtrene kategorien er trolig den mest interessante og en nyttig kategori som er levert av dialogboksen QuickBooks Modify Report. Filtre-fanen lar deg sette opp filtre som du kan bruke til å angi hvilken informasjon som oppsummeres i rapporten. For å bruke Filtrer-fanen velger du først feltet du vil ha ...

Redaktørens valg

Administrere Cloud Computing Resources - dummies

Administrere Cloud Computing Resources - dummies

I teorien bør cloud computing-tjenester ikke være forskjellig fra ressursene i din eget miljø, bortsett fra at de bor eksternt. Ideelt sett har du en komplett visning av cloud computing-ressursene du bruker i dag, eller vil kanskje bruke i fremtiden. I de fleste skymiljøer kan kunden bare få tilgang til ...

Tips for Going Cloud med datanettverkene dine - dummies

Tips for Going Cloud med datanettverkene dine - dummies

Beregning med datanettverket ditt kan være, hva skal du gjøre for å ta nettverket ditt mot skyen? Her er noen anbefalinger: Ikke stole på en dårlig Internett-tilkobling. Først og fremst, før du tar noen av nettverksoperasjonene i skyen, gjør du ...

Nettverkstjenester levert gjennom Cloud Computing - dummies

Nettverkstjenester levert gjennom Cloud Computing - dummies

Tre forskjellige typer nettverkstjenester kan leveres via skyen: applikasjoner , plattformer og tjenester (infrastruktur). I de følgende avsnittene beskrives disse tre typer skyttjenester i større detalj. Programmer i skyen Vanligvis kalt Software as a Service (SaaS), fullt funksjonelle applikasjoner kan leveres via skyen. En av ...

Redaktørens valg

10 Hadoop Ressurser verdt en bokmerke - dummies

10 Hadoop Ressurser verdt en bokmerke - dummies

Følgende er ti fantastiske Hadoop-ressurser som er verdige til å skape en bokmerke i nettleseren din. Disse ressursene hjelper deg med å skape en livslang læringsplan for Hadoop. Sentralnervesystemet: Apache. org Apache Software Foundation (ASF) er det sentrale fellesskapet for open source-programvareprosjekter. Ikke bare et prosjekt kan være et Apache-prosjekt - ...

Data transformasjon i Hadoop - dummies

Data transformasjon i Hadoop - dummies

Ideen om Hadoop-inspirerte ETL motorer har fått mye trekkraft de siste årene. Hadoop er trods alt en fleksibel datalagrings- og behandlingsplattform som kan støtte store mengder data og operasjoner på dataene. Samtidig er det feiltolerant, og det gir mulighet for kapital- og programvarekostnad ...

Datablokker i Hadoop Distributed File System (HDFS) - dummier

Datablokker i Hadoop Distributed File System (HDFS) - dummier

Når du lagrer en fil i HDFS, bryter systemet det ned i et sett med individuelle blokker og lagrer disse blokkene i forskjellige slave noder i Hadoop-klyngen. Dette er en helt vanlig ting å gjøre, da alle filsystemer bryter filer ned i blokker før de lagres til disk. HDFS har ingen ...