@IBOutlet fa riconoscere a Interface Builder la presa. private assicura che l'outlet non sia accessibile al di fuori della classe corrente. viene utilizzato debole perché nella maggior parte delle situazioni il proprietario dell'outlet non è lo stesso del proprietario della vista. Ad esempio, un controller di visualizzazione non possiede un'etichetta, ma lo fa la vista del controller di visualizzazione.
IIBoutlets deve essere debole?
La risposta ufficiale di Apple è che IBOutlets dovrebbe essere forte. L'unico caso in cui un IBOutlet dovrebbe essere debole è per evitare un ciclo di conservazione. Un ciclo di riferimento intenso può causare perdite di memoria e arresti anomali dell'app.
Cos'è IBOutlet Swift?
Il qualificatore di tipo IBOutlet è un tag applicato a una dichiarazione di proprietà in modo che l'applicazione Interface Builder possa riconoscere la proprietà come presa e sincronizzarne la visualizzazione e la connessione con Xcode. Una presa è dichiarata come riferimento debole (debole) per evitare forti cicli di riferimento.
Che cos'è un riferimento debole in Swift?
Riferimenti deboli. Un riferimento debole è un riferimento che non mantiene una forte presa sull'istanza a cui si riferisce, e quindi non impedisce ad ARC di eliminare l'istanza referenziata. Questo comportamento impedisce al riferimento di diventare parte di un ciclo di riferimento forte.
Qual è la differenza tra debole e forte in Swift?
Un riferimento strong significa che vuoi "possedere" l'oggetto a cui fai riferimento con questa proprietà/variabile. Al contrario, con un deboleriferimento significa che non vuoi avere il controllo sulla vita dell'oggetto.