iOS Delegates Tutorial

Du vil Få Endelig Utgang:

delegat demo

Hva er delegat?

Delegate er rett og Slett bare et kommunikasjonsmiddel mellom objekter av iOS-applikasjoner. Du kan tenke delegasjon som en enkel måte å koble objekter og kommunisere med hverandre. Med andre ord kan vi si at delegat tillater ett objekt å sende melding til et annet objekt når en hendelse oppstår. La oss forstå dette ved et virkelighetseksempel. Anta at det er et kontor med 5 tellere. Du går inn på kontoret og går til teller 1 og sender inn noen detaljer om den telleren.

nå må detaljene dine passere gjennom en prosess som teller 3 vet, men teller 1 ikke. så teller 1 vil fortelle deg å vente litt tid og sende detaljene dine til teller 3 for å få prosessen fullført. I dette tilfellet teller 3 er representanten som håndterer hendelsene dine, som refereres av teller 1. Etter at counter 3 fullfører behandlingen av dataene dine, sender den tilbake meldingen til counter 1 og informerer om at prosessen er ferdig, og du kan fortsette videre nå.

Eksempel:

Du har kanskje jobbet Med UIAlertViews.

F. eks:

UIAlertView *alert = initWithTitle:@"Title" message:@"This is an alert view" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];

initializer-metoden For UIAlertView har en parameter som heter delegat. Innstilling av denne parameteren til selv, noe som betyr at gjeldende objekt er ansvarlig for å håndtere all hendelse avfyrt av Denne forekomsten Av UIAlertView-klassen.

hvis du ikke vil håndtere hendelsene, kan du bare sette denne parameteren til null som vist nedenfor:

UIAlertView *alert = initWithTitle:@"Title" message:@"This is an alert view" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];

hvis du har flere knapper på varsel, og du vil vite hvilken knapp som er tappet, kan du implementere metoden nedenfor definert I UIAlertViewDelegate-protokollen.

-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ NSLog(@"You have tapped button # %@",);}

Dette var et eksempel på forhåndsdefinert delegat. Men hva om vi ønsker å skape vår egen delegat? Så kan vi lære å lage din egen representant:

hvordan lage brukerdefinert representant?

Lar lære å opprette brukerdefinert representant ved å lage et enkelt eksempel trinn for trinn. Vi vil lage et eksempel for å få fornavn og etternavn fra brukeren og vise hele navnet. For å forstå begrepet delegat, vil vi få etternavnet fra forskjellige ViewController hvor vi vil sette representanten til å sende etternavnet til den første ViewController.

Trinn 1 Opprett Prosjekt & Design UI

opprett Først Et Nytt Xcode-prosjekt Kalt DelegateDemo og lagre Det. Den vil inneholde en ViewController.

åpne Nå Main_iPhone.storyboard fil og endre det som vist i figuren nedenfor:

delegatedemo

Trinn 2 Opprett ny Klasse

Opprett En ny klasse Som heter LastNameViewController, som vil være underklassen Til UIViewController-klassen og tilordne denne klassen til den andre ViewController.

Trinn 3 Segue For Åpen ny visning

opprett nå segue fra knappen i første ViewController til den andre ViewController.

Trinn 4 Opprett Protokoll i .h-fil

nå er det på tide å lage din egen delegat. Gå til LastNameViewController.h fil og endre det som nedenfor:

#import <UIKit/UIKit.h> @protocol LastNameViewControllerDelegate-(void)setLastName:(NSString *)lastName;@end @interface LastNameViewController : UIViewController @property (nonatomic,retain) id delegate;@property (weak, nonatomic) IBOutlet UITextField *txtLastName;- (IBAction)btnDoneTapped:(id)sender; @end

her, for å lage din egen delegat, må du først opprette en protokoll og erklære de nødvendige metodene uten implementering. For det andre må du opprette en delegat @ eiendom. Også IBOutlet etternavn tekstfeltet som txtLastName og lage IBAction btnDoneTapped () på ferdig knapp i andre ViewController.

Trinn 5 Samtale Protokollmetoder

gå Nå Til LastNameViewController.m fil og endre btnDoneTapped () metode som nedenfor:

- (IBAction)btnDoneTapped:(id)sender{ ; ; ;}

her setter vi verdien av etternavn til representanten vi har opprettet i forrige trinn. Følg nå neste trinn for å få denne verdien i first view controller

dvs. ViewController.m fil

Trinn 6 Sett Delegat Av Opprettet Protokoll

for å få verdien Fra LastNameViewController.m-fil til ViewController.m-fil, først og fremst må vi sette representanten til seg selv I ViewController.m-fil. For å sette deleagte til seg selv, må vi legge til metoden nedenfor I ViewController.m fil:

-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ LastNameViewController *lastNameViewController = ; lastNameViewController.delegate = self;}

vi implementerer denne metoden for a sette delegaten til seg selv fordi Vi laster LastNameViewController gjennom segue. Men for dette må du endre ViewController.h fil som vist nedenfor.

#import "LastNameViewController.h" @interface ViewController : UIViewController

Trinn 7 Implementer Delegatmetode

for å få verdien av etternavn, implementer delegatmetoden I ViewController.m fil som nedenfor:

-(void)setLastName:(NSString *)lastName{ NSString *fullName = ; txtFullName.text = fullName;}

Hvis du har spørsmål knyttet til iOS-Delegater i kommentar dem nedenfor.

jeg håper du fant denne bloggen nyttig mens du arbeider med iOS Delegater. Gi meg beskjed hvis du har spørsmål eller bekymringer angående iOS, vennligst legg inn en kommentar her, og vi kommer TILBAKE TIL DEG ASAP. Fikk En Ide om iPhone App Utvikling? Hva venter du fortsatt på? Kontakt oss nå og se Ideen live snart. Vårt firma har blitt kåret som en av de beste iPhone App Utviklingsselskap I India.

Laget på: 06 juni 2014

jeg er Ios-Utvikler. Jeg liker å lære nye teknologier. Jeg tror at enhver idiot kan skrive kode som en datamaskin kan forstå, men gode programmerere skriver kode som mennesker kan forstå.

FORRIGE INNLEGG
Unity-Brann bullet med trail effekt

neste INNLEGG
iOS Image Picker Controller

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.