- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试从位置管理器对象向我的 viewController 发出通知。它不起作用 - addObserver 方法中的选择器未被调用。
位置管理器 Object.m 文件(具有标准分派(dispatch)一次和初始化方法的单例)
- (void)setCurrentLocation:(CLLocation *)currentLocation
{
if (!_location) {
_location = [[CLLocation alloc] init];
}
_location = currentLocation;
NSNumber *latitude = [NSNumber numberWithDouble:self.location.coordinate.latitude];
NSNumber *longitude = [NSNumber numberWithDouble:self.location.coordinate.longitude];
NSLog(@"lat %@ & long %@ in notification section", latitude, longitude);
NSNotification *notification = [NSNotification notificationWithName:@"myNotification" object:self userInfo: @{kSetLat: latitude,
kSetLong: longitude}];
[[NSNotificationCenter defaultCenter] postNotification:notification];
}
ViewController.m(一般)
- (IBAction)welcomeNotification:(UIButton *)sender {
NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
[center addObserver:self selector:@selector(sendGetRequest:) name:@"myNotification" object:[LPLocationManager sharedManager]];
[center removeObserver:self];
NSLog(@"welcomeNotication triggered");
}
最佳答案
你的做法不对。为什么添加观察者然后立即将其删除。大多数时候,我们在 viewWillAppear
和 viewWillDisappear
或 viewDidAppear
和 viewDidDisappear
中添加/删除观察者。
它应该是这样的:-
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(sendGetRequest:) name:@"myNotification" object:nil];
}
-(void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
[[NSNotificationCenter defaultCenter] removeObserver:self name:@"myNotification" object:nil];
}
关于ios - NSNotification postNotification 和 addObserver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24112544/
我正在使用 SplitViewController。在MasterViewController的viewDidLoad中: [[NSNotificationCenter defaultCenter]
我需要 postNotification在我的原生应用 android 中。 我有这段代码,但它不起作用: try { OneSignal.postNotification(new JSONO
我正在尝试向所有使用 OneSignal 的注册用户发送通知。 我有几个用户注册进行测试,并已成功从 OneSignal 网站仪表板发送通知。 但是,当我尝试以下代码时,出现以下错误: [OneSig
我面临一个有关某个模块的问题,让我清理一下该模块的流程。 我有一个自定义的 UITableviewCell。 当我收到一些新信息时,我会发布一条通知 [[NSNotificationCenter de
我正在尝试从位置管理器对象向我的 viewController 发出通知。它不起作用 - addObserver 方法中的选择器未被调用。 位置管理器 Object.m 文件(具有标准分派(dispa
如果 NSNotificationCenter postNotificationName 由于未找到观察者或任何其他原因而未能发布,如何捕获? 在我的例子中,有时 postNotificationNa
我回到去年一直在处理的一些代码并更新了所有内容,但现在我的代码无法正常工作。当我现在调用发布通知时,我得到“错误:创建通知失败” 我的 AppDelegate 中有这个: OneSignal.init
首先,我从 locationManager 调用一个方法来更新位置(didUpdateLocations)。在这个方法中,我使用了 postNotification,一切正常。但是,当我第二次从 lo
我使用下面的代码来通知菜单选择索引 NSDictionary *userInfo= [NSDictionary dictionaryWithObject:[NSString stringWi
我有一个功能齐全的代码,可以在适用于 iPhone >5 和所有 iPad 的 iOS >8.0 上完美运行,我通过观察者/通知传递信息和调用功能,但在 iPhone 4S 上它不起作用。 通过调试,
我是一名优秀的程序员,十分优秀!