这个问题折腾了我几天。。这就是初学要付出的代价吧。。。我的需求很简单,就是在不同的页面间传递值,a页面跳转到b页面,b页面作出选择后需要把值传递给a,开始用delegate,瞎折腾了一气没有成功,后来了解到可以通过NSNotification传值,测试后成功,非常好用,具体代码如下:
先在b页面合适的位置定义一个notification,然后发送notification:
然后在a页面合适的位置接收:
定义一个方法处理notification:
以上代码参考国外博客中的写法,原文链接如下:
[url]http://blog.isotoma.com/2009/11/on-objective-c-delegates-and-nsnotification-objects/[/url]
先在b页面合适的位置定义一个notification,然后发送notification:
NSNotification* notification = [NSNotification notificationWithName:@"MyNotification" object:self];
[[NSNotificationCenter defaultCenter] postNotification:notification];
然后在a页面合适的位置接收:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(aNotificationHandler:) name:@"MyNotification" object:nil];
定义一个方法处理notification:
- (void)aNotificationHandler:(NSNotification*)notification
{
MyNotifyingClass* ob = [notification object];
... app specific stuff
}
以上代码参考国外博客中的写法,原文链接如下:
[url]http://blog.isotoma.com/2009/11/on-objective-c-delegates-and-nsnotification-objects/[/url]