C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了objective-c – 未调用NSNotificationCenter选择器大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的iPad应用程序中,在一个类中我注册一个通知
NsnotificationCenter *nc = [NsnotificationCenter defaultCenter];
    [nc addObserver:self SELEctor:@SELEctor(SELEctedList:) name:@"TTSELEctedList" object:nil];

我的SELEctedList:方法如下所示:

- (void)SELEctedList:(Nsnotification*)notification
{
    NSLog(@"received notification");
}

然后在另一个类(UITableViewController)中,我在选择行时发布该通知

- (void)tableView:(UITableView *)tableView didSELEctRowATindexPath:(NSIndexPath *)indexPath
{
    NSLog(@"posTing notification");
    [[NsnotificationCenter defaultCenter] postNotificationName:@"TTSELEctedList" object:nil];
}

我可以确认通知正在发布,因为“发布通知”被记录到控制台,但是从未调用“已接收通知”,这意味着未收到通知且未调用选择器.我无法弄清楚造成这种情况的原因.

谢谢

解决方法

最可能的原因是你实际上并没有调用addObserver:SELEctor:name:object:.你那里没有伐木线;你确定代码正在运行吗?

第二个最可能的原因是您在发布通知之前调用了removeObserver:这最常见于dealloc(如果您曾经观察过任何内容,则应始终调用removeObserver).这里的错误你的观察对象在通知之前已经解除分配.

大佬总结

以上是大佬教程为你收集整理的objective-c – 未调用NSNotificationCenter选择器全部内容,希望文章能够帮你解决objective-c – 未调用NSNotificationCenter选择器所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。