Video: Pablo Escobar el terror,DOCUMENTALES,NARCOS,CHAPO GUZMAN 2024
Før du bruker Grensesnittbygger til å lage elementene for Modal-visningen av iPad-appen din, bør du først sette uttak i appens kode som vil koble metodene dine til grensesnittbygger-grensesnittobjektene. Du må gjøre tre ting i koden din for å få kompilatoren til å opprette accessorer for deg:
-
Erklære en instansvariabel i grensesnittfilen.
-
Legg til en @property-erklæring for den instansvariabelen i samme grensesnittfil (vanligvis med den ikke-atomiske attributten).
Erklæringen angir egenskapens navn og type, samt noen attributter som gir kompilatoren informasjon om hvordan nøyaktig du vil at tilgangsmetoder skal implementeres.
For eksempel erklæringen @property (nonatomic, assign) NSString * wordsOfWisdom; erklærer et eiendom som heter wordsOfWisdom, som er en peker til et NSString-objekt. Når det gjelder de to attributter - nonatomic og assign - nonatomic, forteller kompilatoren å opprette en accessor for å returnere verdien direkte, noe som er en annen måte å si at accessorene kan bli avbrutt mens de brukes. Den andre verdien, tilordne, forteller kompilatoren å opprette en tilgangsmetode som sender en tildelingsmelding til et objekt som er tildelt denne egenskapen.
-
Bruk @synthesize i implementasjonsfilen, slik at Objective-C genererer tilgangsmottakere for deg.
Erklæring om @ eiendomserklæring erklærer bare at det skal være tilhengere. Det er @synthesize-setningen som forteller kompilatoren å lage dem for deg.
I følgende eksempelkode må du opprette to utsalgssteder: ett for å peke på et tekstoppføringsfelt og ett for å peke på en hastighetsregulator. For å få denne utløpsvirksomheten påbegynt, må du deklarere hvert uttak, som du gjør ved hjelp av IBOutlet-søkeordet.
#import @protocol SettingsViewControllerDelegate; @interface SettingsViewController: UIViewController {delegate; NSString * wordsOfWisdom; float sliderValue; IBOutlet UITextField * theTextField; IBOutlet UISlider * glidebryter;} - (IBAction) gjort; - (IBAction) speedChanged: (id) avsender; @property (nonatomic, assign) ID-delegat; @property (ikkeatomisk, tilordne) NSString * wordsOfWisdom; @property (ikkeatomisk, tilordne) UISlider * skyveknappen; @end @protocol SettingsViewControllerDelegate - (void) settingsViewControllerDidFinish: (SettingsViewController *) kontrolleren; - (void) changeSpeed: (double) newSpeed; @end
To actionmetoder (ferdig og speedChanged) for Interface Builder-elementer er deklarert (med IBAction), sammen med IBOutlet-setningene, som erklærer uttak som automatisk vil bli initialisert med en peker til UITextField (theTextField) og UISlider (glidebryter) når programmet startes.Men mens dette skjer automatisk, skjer det ikke automatisk automatisk. Du må hjelpe det litt.
Metodene som gir tilgang til instansvariablene til et objekt kalles tilgangsmetoder,, og de får effektivt (ved hjelp av en getter-metode) og angir (ved hjelp av en settermetode) verdiene for en instansvariabel. Selv om du kan kode disse metodene selv, kan det være ganske kjedelig. Det er her egenskapene kommer inn. Egenskapen Objective-C Declared Properties gir en enkel måte å deklarere og implementere objektets tilgangsmetoder på. Kompilatoren kan syntetisere tilgangsmetoder i henhold til måten du fortalte det i eiendomserklæringen.