Come si legge here nella maggior parte dei casi uno IBOutlet
dovrebbe essere debole.IBOutlet per NSTextView in un progetto ARC
Ora come potete leggere nello development library, non tutte le classi supportano riferimenti deboli. (ad esempio NSTextView). Questo significa che dovete usare assegnazione:
@property (assign) IBOutlet NSTextView *textView;
Se si utilizza un riferimento debole si otterrà il seguente errore: "Sintesi di una proprietà debole disponibile non è consentita perché richiede la sintesi di un Ivar dell'oggetto __weak "
Cosa manca la documentazione da menzionare ora è necessario reimpostare la proprietà su nil dopo il suo utilizzo, ad es. con un metodo dealloc
:
- (void)dealloc
{
self.textView = nil;
}
Per quanto ho capito classi contrassegnati con NS_AUTOMATED_REFCOUNT_WEAK_UNAVAILABLE
non supportano i riferimenti deboli, ma qual è il motivo?
Come per post collegato 'IBOutlets' dovrebbe essere ** forte ** di default! – Jay