Вот код, который у меня есть:
Телефон SDK непонятный жизненный цикл объекта какао:
- (void) DismissWelcomeMessage: (UIAlertView *) view
{
[view dismissWithClickedButtonIndex:0 animated:YES];
}
- (void) ShowWelcomeMessage
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Blah" message:@"Blah Blah" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
[self performSelector:@selector (DismissWelcomeMessage:) withObject: alert afterDelay: WELCOME_MESSAGE_DELAY];
[alert release];
}
ShowWelcomeMessage вызывается первым.
Почему DissmissWelcomeMessage работает нормально и не падает, даже если объект оповещения освобожден?
Это потому, что функция Dismiss использует копию объекта, переданного в стек, в качестве параметра функции? Но даже тогда не будет ли это просто копия указателя, указывающего на освобожденный объект?
Или [оповещение об освобождении] просто для подсчета ссылок, и на самом деле не делает то же самое, что и
удалить в C ++?