/ / iPhone SDK: Delegovaná metóda sa nedostala do kontaktu - riešenie problémov - iphone, objektív-c, kakao-touch, ios4, delegáti

iPhone SDK: Delegát metóda nedostáva volanie-Odstraňovanie problémov - iphone, objektív-c, kakao-touch, ios4, delegáti

Ak sa metóda Delegate nedostane do výzvy, potom všetko, čo treba skontrolovať, aby sa zabezpečilo, že delegát je odkazovaný v viewController?

odpovede:

5 pre odpoveď č. 1

No, na začiatok sa musíte prispôsobiť protokolu v hlavičke:

@interface MyViewController : UIViewController <YOUR DELEGATE"S PROTOCOL HERE, 
UITableViewDelegate>{ } @end

To je najčastejšia chyba.

Takisto sa uistite, že ste nastavili delegáta. Normálne to môžete urobiť takto:

myObject.delegate = self;

Hoci niektoré triedy to robia pri initalizácii:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"MY APP"
message:@"HELLO"
delegate:self
cancelButtonTitle:@"CLOSE"
otherButtonTitles:nil];

0 pre odpoveď č. 2

Ak sa delegované metódy nedostanú kedykoľvekočakávate od nich, je možné, že ste vlastne nezaujali delegáta. To sa dá vykonať buď v kóde, alebo v prostredí tvorcu rozhraní. Napríklad a UITableView v prostredí staviteľ môže mať svoje dataSource a delegovať odbytia priradené k cieľu, napríklad "Vlastník súboru".