2012-05-26 19 views
7

Il seguente codice è aggiungere una visualizzazione secondaria alla visualizzazione corrente storyboard:[__NSCFType searchKeyword:]: selettore non riconosciuto inviato ad esempio 0x6d8eb80

EventSearchViewController* view1 = [self.storyboard instantiateViewControllerWithIdentifier:@"searchView"]; 

[view1 setBookingSystem:system]; 

[self.view addSubview:view1.view]; 

Nella vista "view1", c'è un textField. Quello che segue è un IBAction per il campo di testo e l'evento è "Did end on exit".

-(IBAction)searchKeyword:(id *)sender 
{ 
    NSLog(@"searchKeyword"); 
} 

Quanto segue è il messaggio di errore.

2012-05-26 20: 26: 47,369 Onlinebooking [6607: F803] - [__ NSCFType searchKeyword:]: selettore non riconosciuto inviato ad esempio 0x6d8eb80

2012-05-26 20: 26: 47,369 Onlinebooking [6607: F803] * WebKit scartati un'eccezione non rilevata nella WebView: shouldInsertText: replacingDOMRange: givenAction: delegato: - [__ NSCFType searchKeyword:]: selettore non riconosciuto inviato ad esempio 0x6d8eb80

risposta

11

È necessario mantenere il vostro EventSearchViewController , o mantenere un forte riferimento ad esso se stai usando ARC. Se lo assegni a view1 come variabile locale, non sarà più disponibile quando viene chiamato searchKeyword:. (L'errore indica che la sua memoria è stato rilasciato e riutilizzati per un diverso tipo di oggetto.)

+0

grazie mille. Mantengo un forte riferimento a view1, quindi l'errore è risolto. –

0

Per me il problema era che non ho mai chiamato

- (void)removeTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents 

prima ho chiamato

- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents 

di nuovo.