ios notification
1,- (void)viewWillAppear:(BOOL)animated 中注册notification
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(actionSheetSelect:) name:@"actionSheetSelect" object:nil];
2,在接收notification地方实现方法体
-(void)actionSheetSelect:(NSNotification *)notification{
NSString* obj = (NSString*)[notification object];
if ([obj isEqualToString:@"MobilePhone"]) {
//load the view though psw
GetPswThroughPhoneNumberViewController *pushView = [[GetPswThroughPhoneNumberViewController alloc] init];
[self.navigationController pushViewController:pushView animated:YES];
[pushView release];
}
else if([obj isEqualToString:@"Email"]){
//load the view though email
GetPswThroughEmailViewController *pushView = [[GetPswThroughEmailViewController alloc] init];
[self.navigationController pushViewController:pushView animated:YES];
[pushView release];
}
else{
NSLog(@"erase");
}
}
3,调用的地方发送请求
- (void)buttonClicked:(id)sender {
NSUInteger buttonIndex = ((UIView *)sender).tag - 100;
[self dismissWithClickedButtonIndex:buttonIndex animated:YES];
switch (buttonIndex) {
case CMActionSheetButtonMobilePhoneIndex:
{
[[NSNotificationCenter defaultCenter] postNotificationName:@"actionSheetSelect" object:@"MobilePhone"];
break;
}
case CMActionSheetButtonEmailIndex:
{
//load the view though email
[[NSNotificationCenter defaultCenter] postNotificationName:@"actionSheetSelect" object:@"Email"];
break;
}
case CMActionSheetButtonCancelIndex:
{
//cancel
[[NSNotificationCenter defaultCenter] postNotificationName:@"actionSheetSelect" object:@"Cancel"];
break;
}
default:
break;
}
}
4,在viewDidDisappear中注销掉notification
- (void)viewDidDisappear:(BOOL)animated{
[[NSNotificationCenter defaultCenter] removeObserver:self];
}