Hjem Sosiale medier Hvordan Introspection fungerer i iOS Apps - dummies

Hvordan Introspection fungerer i iOS Apps - dummies

Innholdsfortegnelse:

Video: Loneliness 2024

Video: Loneliness 2024
Anonim

Introspeksjon refererer til fasiliteter i en iOS-app programmeringsspråk for å undersøke strukturen og andre detaljer om et objekt og dets klasse på kjøretid. Slike detaljer kan omfatte:

  • En objekts arvstreet

  • Enten det samsvarer med en bestemt protokoll

  • Enten det svarer til en bestemt melding

Når du vet hva en gjenstand er laget av, kan du programmatisk bygge meldinger å sende til det, noe som gjør programmet mye mer dynamisk.

Hvordan få klassen av et objekt

Du kan få klassen av en gjenstand ved kjøretid. Faktisk behandler Objective-C klasser som førsteklasses objekter. Hvert klasseobjekt peker på en datastruktur i minnet, har en superklasse (kjent som en metaklasse), og kan svare på meldinger som påkaller metoder.

Når du ringer en klassemetode, sender du virkelig en beskjed til objektet til klassen.

Du kan få en referanse til klassemålet for klassen ved å sende klassen en klassemelding (Gutt! Var det forvirrende å skrive.), Og du får superklassen til en klasse ved å sende Motta en superklasse melding. For eksempel kan du skrive ut klassen og superklassen til et objekt, for eksempel et StackOfInteger-objekt, som følger:

StackOfInteger * aStack = [[StackOfInteger alloc] init]; NSLog (@ "Klassen er% @, og super er% @.", [AStack klasse], [aStack superklasse]);

Hvordan dynamisk ringe metoder

Du kan da kalle en metode på et klassemåte som dette:

Klasse postfixCalculatorClass = [someObject class]; [postfixCalculatorClass performSelector: @selector (printClassDescription)];

To elementer må forklares her. For det første er @selector et kompilere -tidsdirektiv og returnerer en peker til metoden printClass. For det andre kan du da bruke PerformSelector til å faktisk ringe den metoden.

I forrige eksempel ble metodenavnet oversatt til en peker til metoden ved kompileringstid. Du kan også ringe en instansmetode på et objekt ved å bruke strengenavnet til en metode, ved kjøring, som følger:

SEL printClassDescriptionSEL = NSSelectorFromString (@ "printClassDescription"); [postfixCalculatorClass performSelector: printClassDescriptionSEL];

I dette eksemplet kan du bruke SEL-typen (også kjent som en velger i Objective-C-parlanse, og så SEL) for å holde den interne representasjonen av en metode.

Slik kontrollerer du beskrivelsen av et objekt

Når du har et håndtak til et klasseobjekt, kan du inspisere det ved kjøring med introspeksjonsfunksjonene som er oppgitt i Objective-C.For eksempel kan du teste dette objektet for å se hva slags det er. Du kan inspisere den for å se om den har en bestemt metode eller et bestemt attributt, og så videre.

Tabellen under viser alle metoder for å teste strukturen og evnen til et klassobjekt og for å utføre handlinger på den.

Metode Spørsmål eller handling
- (BOOL) isKindOf: klasseobjekt Er objektet et medlem eller en etterkommer av en klasse?
- (BOOL) isMemberOf: class-object Er objektet medlem av en klasse?
- (BOOL) svarer til: velger Kan objektet svare på en metode?
+ (BOOL) instanserRespondTo: velger Kan forekomster av klassen svare på en melding?
- (id) utfør: velg Bruk metoden som er spesifisert av väljeren.
+ (BOOL) conformsToProtocol: (Protocol *) aProtocol JA hvis mottakeren overholder protokollen aProtocol; ellers, nei.

For mer informasjon om introspeksjon og hvordan du bruker den, sjekk ut Apple IOS Runtime Reference og Apple Developer Objective-C Runtime Programmeringsveiledning.

Hvordan Introspection fungerer i iOS Apps - dummies

Redaktørens valg

10 Måter å varme opp og slappe av før og under GRE-dummies

10 Måter å varme opp og slappe av før og under GRE-dummies

GRE er like mye fysisk trening som det er mentalt, og det er mer som en maraton enn en sprint. Hvis du kommer ut av blokkene med en sprintens tempo, er du sikker på å raskt eksosere deg selv. Nøklene til å komme til enden og fullføre sterken, oppvarmer seg mentalt og holder seg i orden ...

Argument analyse på GRE - strategier og praksis spørsmål - dummies

Argument analyse på GRE - strategier og praksis spørsmål - dummies

Når du takler et argument Analysespørsmål på GRE, din jobb er å identifisere om forfatteren har gjort en tilstrekkelig jobb med å presentere og støtte sin stilling. Graduate skoler forventer at du ikke bare skal lese med forståelse, men også å undersøke informasjonen og argumentet som presenteres og sortere logikken som er rimelig fra ...

Argument analyse på GRE Verbal Essay Test - praksis spørsmål - dummies

Argument analyse på GRE Verbal Essay Test - praksis spørsmål - dummies

Når du tar GRE Verbal testen, et av essay spørsmålene vil be deg om å analysere et argument. Du må lese argumentet, se på sine underliggende forutsetninger, og deretter forklare hvordan disse forutsetningene påvirker argumentet. Følgende praksis spørsmål ligner på hva du finner på testen. Øvelsesspørsmål Tid: ...

Redaktørens valg

Oversikt over sikkerhetspolitikk for mobilenheter - dummier

Oversikt over sikkerhetspolitikk for mobilenheter - dummier

Sikkerhetspolitikk for mobile enheter som knytter seg til bedriftsnettverket kan deles inn i to kategorier: retningslinjer for godkjente enheter og retningslinjer for andre enheter. Enhetspolicyer. Her er en oversikt over de to kategoriene av enhetsretningslinjer som du må kommunisere med brukere: Politikk for godkjente enheter: Denne policyen gjelder for alle bedriftsutstedte ...

Oversikt over mobilenhetssikkerhet gjennom skybaserte beskyttelser - dummies

Oversikt over mobilenhetssikkerhet gjennom skybaserte beskyttelser - dummies

Ved hjelp av skybasert endpoint-sikkerhet er en metode for å beskytte enterprise mobile enheter fra virus, malware, spam og andre trusler. Den faktiske trusselsbeskyttelsen skjer i skyen eller sentralisert datasenter for sluttpunktsprogramvareleverandøren i denne typen distribusjon. Trafikk til og fra de mobile enhetene blir omdirigert på enheten til ...

Oversikt over mobilenhetssikkerhet gjennom enhetsadministrasjon - dummies

Oversikt over mobilenhetssikkerhet gjennom enhetsadministrasjon - dummies

Nå som du har tenkt på å sikre mobilen enheter på nettverket ditt fra trusler som virus og malware, er det på tide å planlegge for ekstern håndheving av retningslinjer for enhetsadministrasjon eller sikkerhet. Du får ideen. Det handler om enhetssikkerhetsetikett, om å ta de enkle, men ofte ignorerte trinnene for å beskytte vitale data lagret på ...

Redaktørens valg

Hånd- og håndleddskader grunnleggende for legeassistenteksamen - dummies

Hånd- og håndleddskader grunnleggende for legeassistenteksamen - dummies

Legeassistenteksamen PANCE) vil stille spørsmål om forhold som påvirker hånden og håndleddet. De spenner fra godartede cyster til mindre forstuinger til utbruddssvikt, så gjør deg kjent med det grunnleggende. Ganglioncyster En vanlig myk vævsmasse som du kan se på hendene og håndleddene, er en ganglioncyst, også kjent ...

HIV Grunnleggende for legeassistenteksamen - dummies

HIV Grunnleggende for legeassistenteksamen - dummies

For legeassistenteksamen (PANCE), bør du være kjent med noen generelle ting som angår HIV, spesifikke infeksjoner relatert til HIV, og bivirkninger av visse medisiner. HIV står for humant immundefektvirus. Risikofaktorer for å skaffe hiv inkluderer høyrisiko seksuell atferd og narkotikamisbruk, spesielt intravenøs bruk med skitne nåler. Kommer i kontakt med ...

Mageområdet for legeassistenteksamen - dummies

Mageområdet for legeassistenteksamen - dummies

Etter å ha reist gjennom spiserøret, din neste destinasjon i forberedelsene til legeassistenteksamen (PANCE) er det livlige magesektoren. Inneholder cardia, fundus, antrum og pylorus, er dette området bare moden for patologi og fremtidige PANCE-spørsmål. Magen er et sted hvor mye av fordøyelsen finner sted. Hovedcellene ...