Sto esaminando le convenzioni di denominazione per i delegati dei controlli iOS. Conosco lo should, will, did pattern for delegate methods. Riesco a vedere questa convenzione di denominazione ampiamente utilizzata dalle API Apple. La mia domanda è: ci sono delegati forniti da Apple che hanno dovuto, avrebbero fatto i metodi per una singola azione? per esempio. per selezione riga:Convenzioni di denominazione dei delegati iOS: dovrebbe, lo ha fatto,
shouldSelectRow
willSelectRow
didSelectRow
Non ho trovato un delegato che definisce tutti e tre. La mia sensazione è che i metodi "volontà" siano spesso usati al posto di dovrebbero, cioè possono restituire un valore per annullare l'azione.
Esistono contro-esempi?
Penso che l'hai capovolto - "dovrebbe" dovrebbe restituire un valore booleano che dice al mittente di procedere o meno. Ti dirà che accadrà e non ci accorgerai che puoi fare qualcosa. Ti ha permesso di agire dopo che è successo. Il mio $ 0,02 –
Unisco l'uso di volontà e dovrebbe, così viene chiamato, ma con l'opzione di restituire NO se non vuoi che la modifica vada avanti. Il metodo dovrebbe non ha senso per me. È solo un overhead in più. –
@DavidH era la mia comprensione iniziale, tuttavia, il metodo 'UITableViewDelegate'' tableView: willSelectRowAtIndexPath' può restituire un valore che annulla la selezione. In altre parole, esegue la responsabilità "dovrebbe". – ColinE