Główna różnica między słabym a nieposiadanym polega na tym, że słaby jest opcjonalny, podczas gdy nieposiadany jest nieopcjonalny Deklarując go jako słaby, możesz poradzić sobie z przypadkiem, że może być zerowy wewnątrz zamknięcie w pewnym momencie. Jeśli spróbujesz uzyskać dostęp do zmiennej, której nie posiadasz, a która akurat jest zerowa, spowoduje to awarię całego programu.
Kiedy powinieneś używać nie posiadanych lub słabych?
Użyj słabej referencji za każdym razem, gdy jest ona poprawna dla, aby ta referencja stała się zerowa w pewnym momencie jej życia. I odwrotnie, użyj referencji bez właściciela, jeśli wiesz, że odwołanie nigdy nie będzie zerowe, jeśli zostało ustawione podczas inicjalizacji.
Jaka jest różnica między słabym a nieposiadanym?
Pierwszą różnicą, o której musisz wiedzieć, jest to, że odwołanie bez właściciela zawsze powinno mieć wartość.… Kiedy tak się stanie, odwołanie jest ustawione na nil. Ponieważ słabe odwołanie można ustawić na nil, zawsze jest ono deklarowane jako opcjonalne. To druga różnica między słabymi a nieposiadanymi referencjami.
Jaka jest różnica między słabym referencją a referencją nieposiadającą właściciela?
Zarówno słabe, jak i nieposiadające właściciela referencje nie będą miały wpływu na liczbę referencji obiektu. Ale słaba referencja zawsze będzie opcjonalna tzn. może być zerowa, podczas gdy referencje bez właściciela nigdy nie mogą być zero, więc nigdy nie będą opcjonalne.
Co jest silne, słabe i nieposiadane?
Kluczowa różnica między silnym a słabym lub nieposiadanym odwołaniem polega na tym, że silne odwołanie zapobiega cofnięciu alokacji instancji klasy, na którą wskazuje. To jest bardzo ważne, aby zrozumieć i zapamiętać. … Innymi słowy, słabe i nieposiadające właściciela referencje nie mogą zapobiec cofnięciu alokacji instancji klasy