其他类事件的NSNotification实现?

时间:2010-08-02 09:33:00

标签: iphone nsnotificationcenter

HI,

在我的ViewController.m中我在“viewDidLoad”中添加了一个NSNotification,如下所示:

        [[NSNotificationCenter defaultCenter] addObserver:self
                                    selector:@selector(pageControlChanged:) 
                                    notificationName:@"ScrollViewDidEnd"
   object:nil];

然后我有一个自定义scrollView-class“MyScrollView”,我可以滚动图像。我在那里添加了一个postNotification,当调用“scrollViewDidEndDecelerating:(UIScrollView *)scrollView {..”方法时。

- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
[[NSNotificationCenter defaultCenter] postNotificationName:@"ScrollViewDidEnd" object:nil];
}
- (void) pageControlChanged:(NSNotification*)notification{
    NSLog(@"pagecontrol: %@", notification);

}

当我编译我的项目时,我收到一个错误,应用程序崩溃: Console-output:“没有addObserver:selector:notifcatonName:object:”找到方法。

因此,这是我第一次使用NSNotification,在这里获得一些帮助会很棒。 谢谢你的时间。 yosh

1 个答案:

答案 0 :(得分:1)

您正在寻找的方法是:

- (void)addObserver:(id)notificationObserver selector:(SEL)notificationSelector name:(NSString *)notificationName object:(id)notificationSender

(请注意name:,而不是notificationName:

所以你的代码应该是:

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(pageControlChanged:)
                                             name:@"ScrollViewDidEnd"
                                           object:nil];