转载自:http://blog.csdn.net/terrylee_cold/article/details/7529132
今天coding的时候碰到了dismissModalViewControllerAnimated:方法.这个方法的功能是释放接受到这个消息的对象(UIViewcontroller对象).
如:[self dismissModalViewControllerAnimated:YES]; //animated的参数代表UIViewcontroller是否动态移除屏幕,默认是向屏幕下方移除屏幕外.
对象调用这个方法之后,直接被dealloc,如再调用这个对象的view,这个对象重的 viewDidLoad方法会被调用.
另外,在ios5.0之后,dismissModalViewControllerAnimated方法被 dismissViewControllerAnimated:completion:方法所取代.后者比前者多了一个(void (^)(void))completion参数,这个参数是一个block用来提供UIViewcontroller对象被释放之后运行的回调.这个block的回调方法是在UIViewcontroller的viewDidDisappear:
之后被调用.
与以上的两个方法对应的方法是presentModalViewController:animated:和presentViewController:animated:completion:.
切克闹项目中上的代码是:
[self dismissViewControllerAnimated:YES completion:^{
[GNNotification notificatonPost:GN_NOTI_RELOGIN_WITHUI object:nil userInfo:nil];
[GNNotification notificatonPost:GN_NOTI_CLEARDATA_FROMMEMORY object:nil userInfo:nil];
}];