- célkitűzés
- 1.lépés projekt létrehozása & felhasználói felület tervezése
- 2. lépés új osztály létrehozása
- 3.lépés Segue az új nézet megnyitásához
- 4. lépés protokoll létrehozása .h fájl
- 5.lépés hívás protokoll módszerek
- 6. lépés Állítsa be a létrehozott protokoll Küldöttjét
- 7.lépés a delegált módszer végrehajtása
célkitűzés
a blogbejegyzés fő célja, hogy elmagyarázza, mi a küldött és hogyan hasznos az iOS alkalmazásokban.
kapsz végső kimenet:
mi a delegált?
a Delegate egyszerűen csak az iOS Alkalmazások objektumai közötti kommunikáció eszköze. A delegálás egyszerű módja az objektumok összekapcsolásának és az egymással való kommunikációnak. Más szavakkal azt mondhatjuk, hogy a küldött lehetővé teszi, hogy egy objektum üzenetet küldjön egy másik objektumnak, ha bármilyen esemény bekövetkezik. Lehetővé teszi, hogy megértsük ezt egy valós példa. Tegyük fel, hogy van olyan iroda, ahol 5 számláló van. Belépsz az irodába, és menj az 1-es pulthoz, és nyújts be néhány részletet a pulton.
most az Ön adatainak át kell haladniuk egy olyan folyamaton, amelyet a counter 3 ismer, de az counter 1 nem. tehát az counter 1 azt fogja mondani, hogy várjon egy ideig, és adja át adatait a counter 3-nak, hogy befejezze a folyamatot. Ebben az esetben a 3.számláló az a küldött, aki kezeli az eseményeket, amelyet az 1. számláló utal. Miután a counter 3 befejezte az adatok feldolgozását, visszaküldi az üzenetet az counter 1-nek, amelyben tájékoztatja, hogy a folyamat megtörtént, és folytathatja tovább.
példa:
lehet, hogy dolgozott UIAlertViews.
pl:
UIAlertView *alert = initWithTitle:@"Title" message:@"This is an alert view" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
az UIAlertView inicializáló metódusának van egy delegált nevű paramétere. Ha ezt a paramétert self értékre állítja, ami azt jelenti, hogy az aktuális objektum felelős az UIAlertView osztály ezen példánya által indított összes esemény kezeléséért.
ha nem akarja kezelni az eseményeket, akkor egyszerűen beállíthatja ezt a paramétert nullra az alábbiak szerint:
UIAlertView *alert = initWithTitle:@"Title" message:@"This is an alert view" delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
ha több gomb van a riasztásban, és szeretné tudni, hogy melyik gomb van megérintve, akkor megvalósíthatja az UIAlertViewDelegate protokollban meghatározott alábbi módszert.
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex{ NSLog(@"You have tapped button # %@",);}
ez egy példa az előre meghatározott küldöttre. De mi van, ha saját delegáltat akarunk létrehozni? Tehát lehetővé teszi, hogy megtanulják, hogyan kell létrehozni a saját küldött:
hogyan lehet létrehozni a felhasználó által definiált küldött?
lehetővé teszi, hogy megtanulják, hogyan kell létrehozni a felhasználó által definiált küldött létrehozásával egy egyszerű példa lépésről-lépésre. Létrehozunk egy példát, hogy megkapjuk a keresztnevet és a vezetéknevet a felhasználótól, és megjelenítsük a teljes nevet. A delegált fogalmának megértéséhez megkapjuk a vezetéknevet a különböző ViewController-től, ahol beállítjuk a delegáltat, hogy adja át a vezetéknevet az első Viewcontrollernek.
1.lépés projekt létrehozása & felhasználói felület tervezése
először is hozzon létre egy új Xcode projektet DelegateDemo néven, majd mentse el. Egy Viewcontrollert tartalmaz.
most nyissa meg a Main_iPhone-t.storyboard fájlt, és módosítsa azt az alábbi ábrán látható módon:
2. lépés új osztály létrehozása
hozzon létre egy új osztályt lastnameviewcontroller néven, amely az UIViewController osztály alosztálya lesz, és rendelje hozzá ezt az osztályt a második Viewcontrollerhez.
3.lépés Segue az új nézet megnyitásához
most hozzon létre segue-t az első ViewController gombjából a második Viewcontrollerbe.
4. lépés protokoll létrehozása .h fájl
most itt az ideje, hogy saját küldöttet hozzon létre. Lépjen a LastNameViewController oldalra.h fájlt, és módosítsa az alábbiak szerint:
#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
itt a saját delegált létrehozásához először létre kell hoznia egy protokollt, és deklarálnia kell a szükséges módszereket annak végrehajtása nélkül. Másodszor létre kell hoznia egy delegált @tulajdonságot. Szintén IBOutlet a vezetéknév szövegmezőt txtLastName és hozzon létre IBAction btnDoneTapped () a Kész gombot a második ViewController.
5.lépés hívás protokoll módszerek
most menj LastNameViewController.m fájl és módosítsa a btnDoneTapped () metódust az alábbiak szerint:
- (IBAction)btnDoneTapped:(id)sender{ ; ; ;}
itt állítjuk be a vezetéknév értékét az előző lépésben létrehozott küldöttre. Most kövesse a következő lépést, hogy megkapja ezt az értéket első nézet vezérlő
azaz ViewController.m fájl
6. lépés Állítsa be a létrehozott protokoll Küldöttjét
hogy megkapja az értéket a LastNameViewController-től.m fájlt ViewController.m fájl, először is be kell állítanunk a delegáltat a Viewcontrollerbe.m fájl. A deleagte önmagához való beállításához hozzá kell adnunk az alábbi módszert a Viewcontrollerhez.m fájl:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{ LastNameViewController *lastNameViewController = ; lastNameViewController.delegate = self;}
ezt a módszert úgy hajtjuk végre, hogy a delegáltat önmagára állítsuk, mert a lastnameviewcontrollert a segue segítségével töltjük be. De ehhez módosítania kell a Viewcontrollert.h fájl az alábbiak szerint.
#import "LastNameViewController.h" @interface ViewController : UIViewController
7.lépés a delegált módszer végrehajtása
a vezetéknév értékének megszerzéséhez hajtsa végre a delegált módszert a Viewcontrollerben.m fájl az alábbiak szerint:
-(void)setLastName:(NSString *)lastName{ NSString *fullName = ; txtFullName.text = fullName;}
ha bármilyen kérdése van az iOS küldöttekkel kapcsolatban, kommentálja őket alább.
remélem, hasznosnak találta ezt a blogot, miközben iOS Küldötteken dolgozott. Tudassa velem, ha bármilyen kérdése vagy aggálya van az iOS-szal kapcsolatban, kérjük, írjon ide egy megjegyzést, és mihamarabb visszatérünk hozzád. Van ötlete az iPhone alkalmazás fejlesztéséről? Mire vársz még? Vegye fel velünk a kapcsolatot, és hamarosan élőben láthatja az ötletet. Cégünk nevezték, mint az egyik legjobb iPhone App fejlesztő cég Indiában.
iOS fejlesztő vagyok. Szeretek új technológiákat tanulni. Úgy gondolom, hogy minden bolond képes olyan kódot írni, amelyet a számítógép megért, de a jó programozók olyan kódot írnak, amelyet az emberek megértenek.
iOS képválasztó vezérlő