Dlaczego powinniśmy wydać?

Często widzę, że po zwolnieniu obiektu ab natychmiast ustawiamy go na zero. Wiem, że wydanie i zero zarówno uwalniają starą wartość powiązaną z obiektem, ale w przypadku zwolnienia pozostawiają obiekt jako zwisający wskaźnik, więc musimy ustawić go na zero.

Więc moje pytanie brzmi, czy nil zwalnia starą wartość obiektu i ustawia obiekt na zero, dlatego nie powinniśmy używać tylko zer, dlaczego w powinno też używać wydania.

Way1:

MyClass *obj = [[MyClass alloc] init];
[obj release];
obj = nil;

Way2:

MyClass *obj = [[MyClass alloc] init];
obj = nil;

Jaka jest prawdziwa różnica w sposobie1 i sposobie2, jeśli używasz sposobu1, dlaczego nie używasz tylko drogi2?

questionAnswers(2)

yourAnswerToTheQuestion