Video: My Friend Irma: Lucky Couple Contest / The Book Crook / The Lonely Hearts Club 2024
I iOS app programmering refererer introspeksjon til fasiliteter i en programmeringsspråk som undersøker strukturen og andre detaljer om et objekt og dets klasse ved kjøring. 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. Dette ville også være på tide å bestemme klassen av et objekt for programmering. Du kan definere 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, og du får superklassen til en klasse ved å sende objektet en superklassemelding. 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]);