Вот код, у меня есть:iPhone памяти и объект LiveCycle
Phone 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++?
Спасибо, я пропустил эту часть в документах NSObject! – leon