2015-04-02 27 views
20

Utilizzo Xcode 6.2 per progetti iOS. Nelle versioni precedenti di Xcode, quando veniva creata una connessione per un IBOutlet, lo storage era sempre debole. Ora quando creo le connessioni, sono predefinite come forti. Lo lascio in questo modo e non noto alcuna differenza.L'IBOutlet dovrebbe essere debole o forte?

Quale versione di Xcode ha apportato la modifica predefinita a forte e perché?

risposta

7

Non importa debole o forte l'uscita è nella maggior parte dei casi. Sei solo sicuro di non avere cicli di riferimento forti.

Le sottoview non dovrebbero avere forti sbocchi per le loro visite e la vista non dovrebbe avere un forte sbocco sul suo controller, perché la superview ha già un forte riferimento alle sue sotto-visualizzazioni e il controller ha un forte riferimento alla sua vista.

22

Sì, in precedenza le prese in genere dovevano essere deboli, ma Apple l'ha cambiato. Ora si consiglia di utilizzare forti punti vendita nella sessione WWDC 2015 Implementing UI Designs in Interface Builder. Il solo reason perché potrebbe essere debole è il ciclo di conservazione.

+0

Con Xcode 8.3.1 gli IBOutlet creati in IB sono 'var deboli' – neoneye

+0

Il presentatore supera le connessioni forti/deboli a circa 32:30 nella presentazione. Detto questo, mi raccomando vivamente di guardare l'intera cosa - tonnellate di informazioni utili, specialmente se sei nuovo nello sviluppo di iOS :) – FateNuller