Ovviamente la risposta scelta è corretta, ma non mi è stata d'aiuto. Tuttavia, ho implementato con successo i protocolli, quindi volevo fornire la mia spiegazione nel caso in cui qualcuno stesse lottando per afferrare il concetto, come lo ero io.
Codice protocollo è scritto in tre punti:
- due Categorie viewController
- protocollo stesso (codice scritto al di fuori delle classi VC)
Quando scrivo i miei protocolli, ho inseriscili nel mio documento "ToolBox" e scrivo ancora commenti per ricordare a me stesso quali VC stanno facendo cosa. Due esempi:
quindi c'è sempre:
- Il codice di protocollo (vedi sopra)
- codice in un VC che avvia l'azione
- codice in un VC che è delegato a svolgere l'azione
1. Il codice di protocollo
Vedere l'immagine sopra per un riferimento. In sostanza, il codice del protocollo è proprio il punto in cui si dà al protocollo un nome e si dichiara quali funzioni si desidera chiamare/delegare in remoto. Assegna un nome al protocollo. Dichiarare i nomi delle funzioni che possono essere chiamati e dichiarano i propri tipi di parametri come ad esempio stringhe, ecc
2. codice in un VC che avvia l'azione
Questo è il codice che avvia il protocollo . In questo esempio, questo è il codice di una cella di tabella, che deve delegare alcuni lavori alla tabella principale VC. Il primo screenshot mostra la creazione della variabile delegata e il secondo screenshot è l'uso effettivo di quella variabile.
Così il codice qui sotto sono pulsanti table-cell. Hanno tutti bisogno di attivare il codice al di fuori della cella VC, in modo che tutti attivino le funzioni utilizzando il protocollo che ho dichiarato sopra.
3. Codice in una VC che è delegata a svolgere l'azione
Ora il protocollo viene chiamato, ma che VC risponde alla chiamata? Per rispondere a questa domanda, scegliere il VC e aggiungere il nome del protocollo per la dichiarazione di classe:
Infine, è necessario la carne reale di tutta la faccenda. Non il grilletto, non il protocollo stesso, non la dichiarazione della classe ... ma la funzione reale che si desidera chiamare:
Spero che questo aiuti
Non so perché i protocolli semplicemente non affonderei nel mio grosso cranio, ma non lo fecero. Spero che questo aiuti gli altri come me!
Sembra che tu non abbia mai impostato il delegato – Gad
Come posso impostare il delegato? – Marco