Hjem Sosiale medier Hvordan du legger til et modulutsnitt i din iOS-app - dummies

Hvordan du legger til et modulutsnitt i din iOS-app - dummies

Video: Python Web Apps with Flask by Ezra Zigmond 2024

Video: Python Web Apps with Flask by Ezra Zigmond 2024
Anonim

For det meste kan brukeren kontrollere hva som skjer i iOS-apper. Du gir knappene og andre grensesnittelementer, men brukeren velger hva du skal gjøre og hvilke grensesnittelementer du skal trykke på. Modale visninger avbryter den brukerkontrollen. De presenteres på skjermen, og selv om brukeren kan trykke på dem, forblir de foran og midt til brukeren avviser dem.

De brukes når du vil at brukeren skal gjøre noe eller løse et problem før du fortsetter å bruke resten av appen. Enheten er ikke låst fordi brukeren kan bruke Hjem-knappen til å flytte til en annen app, men så langt som i appen din, er den frosset til den modale visningen blir avvist.

Den vanligste måten å administrere Modal visninger på, er ved å opprette en Objective-C protokoll som er vedtatt av kontrolleren som presenterer Modal-visningen. Modal-visningen, når brukeren har valgt en handling eller Avbryt, sender en melding til presentasjonscontrollerens delegatemetode. Den forespørgende kontrolleren avviser deretter Modal-kontrolleren.

Ved å bruke denne tilnærmingen betyr det at før den avviser Modal-kontrolleren, kan den presenterende kontrolleren få data som den trenger fra den. Det er mønsteret du vil implementere her.

Du begynner å implementere Modal-visningen ved å erklære protokollen og noen andre egenskaper du trenger, samt protokollene DestinationController må vedta.

For å få ting startet, legg til den dristige koden i Listing 20-1 til DestinationController. h.

#import @protocol DestinationControllerDelegate ; @interface DestinationController: UIViewController @property (svak, ikkeatomisk) IBOutlet UITableView * destinationTableView; @property (strong, nonatomic) id delegat; @property (nonatomic, readonly) NSUInteger selectedDestination; - (IBAction) avbryte: (id) avsender; -d @protocol DestinationControllerDelegate @required - (void) destinationController: (DestinationController *) kontrolleren didFinishWithSave: (BOOL) lagre; -d

Mål-C-språket gir en måte å formelt deklarere en liste over metoder (inkludert deklarerte egenskaper) som en protokoll. Du har brukt rammebaserte protokoller i denne boken, og nå definerer du din egen protokoll.

Du erklærer formelle protokoller med @protocol-direktivet. Du erklærte en DestinationControllerDelegate-protokoll med en metode, DestinationController: didFinishWithSave:, som kreves. Nødvendig er standard; Hvis du ønsket å erklære valgfrie metoder, ville du bruke søkeordet @optional, og alle metoder som følger dette søkeordet ville være valgfrie.For eksempel, vurder dette:

@protocol SimpleDelegate @optional - (void) doNothing; -d

Du kan ha både @required og @optional metoder i en protokoll. Det er vanlig å gruppere dem sammen, men du kan krysse dem hvis du vil.

Hvis verken @forespurt eller @optional er angitt, antas @required. Det er imidlertid bedre å være spesifikk om hva som kreves og hva som er valgfritt. @protocol DestinationControllerDelegate: setningen (øverst) forteller kompilatoren at en protokoll er på vei. I likhet med @class-setningen står det: "Stol på meg, du finner protokollen. "Du trenger dette her bare fordi du har lagt til dette:

@property (sterk, ikkeatomisk) ID-delegat;

Denne setningen forteller at kompilatoren skriver inn sjekk hva det er du tilordner å delegere for å sørge for at den implementerer protokollen DestinationControllerDelegate.

Du har også lagt til den valgteDestinasjonsegenskapen, som du vil bruke i ViewController til å bestemme hvilken destinasjon brukeren valgte. Legg merke til at du har gjort det skrivebeskyttet, fordi det ikke er noen grunn til at et annet objekt skal kunne sette det.

Du har også vedtatt to protokoller fra Cocoa Touch-rammen, UITableViewDelegate og UITableViewDataSource, som du vil bruke til å administrere tabellvisningen.

Deretter må du oppdatere DestinationController-implementeringen med den dristige koden for noen headerfiler du må bruke senere.

#import "DestinationController. H" #import "DetailViewController. H" #import "AppDelegate. H" @interface DestinationController () -d @implementation DestinationController

Nå som du har VVS-inn, kan du se på hva som skal foregå i DestinationController.

Hvordan du legger til et modulutsnitt i 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 ...