@IBOutlet umożliwia konstruktorowi interfejsu rozpoznanie gniazdka. private zapewnia, że dostęp do gniazdka nie jest możliwy poza bieżącą klasą. Słaby jest używany, ponieważ w większości sytuacji właściciel gniazdka nie jest tym samym, co właściciel widoku. Na przykład kontroler widoku nie jest właścicielem jakiejś etykiety - posiada on widok kontrolera widoku.
Czy IBOutlets muszą być słabe?
Oficjalna odpowiedź Apple brzmi, że IBOutlets powinien być silny. Jedynym przypadkiem, w którym IBOutlet powinien być słaby, jest unikanie cyklu przechowywania. Silny cykl referencyjny może spowodować wycieki pamięci i awarie aplikacji.
Co to jest IBOutlet Swift?
Kwalifikator typu IBOutlet jest znacznikiem zastosowanym do deklaracji właściwości, dzięki czemu aplikacja Interface Builder może rozpoznać właściwość jako gniazdko i zsynchronizować jej wyświetlanie i połączenie z Xcode. Wyjście jest deklarowane jako słabe odniesienie (słabe), aby zapobiec silnym cyklom odniesienia.
Co to jest słabe odniesienie w Swift?
Słabe referencje. Słabe odwołanie to odwołanie, które nie utrzymuje silnego wpływu na instancję, do której się odwołuje, a więc nie powstrzymuje ARC przed usunięciem instancji, do której się odwołuje. To zachowanie zapobiega temu, aby odwołanie stało się częścią silnego cyklu odniesienia.
Jaka jest różnica między słabym a silnym w Swift?
A strong odwołanie oznacza, że chcesz „być właścicielem” obiektu, do którego się odwołujesz, za pomocą tej właściwości/zmiennej. W przeciwieństwie do słabejodniesienie oznacza, że nie chcesz mieć kontroli nad czasem życia obiektu.