NSNotification に不満を感じています。どういうわけか私のView Controllerは callback を受け取ることができません。私はインターネットを閲覧しましたが、その解決策は見つかりませんでした。これが私のコードです
SideBarViewController.h
- (void)postNotificationWithString:(NSString *)deviceLocation {
NSString *notificationName = @"LocationDetectedNotification";
NSDictionary *dict = [NSDictionary dictionaryWithObject:deviceLocation forKey:@"MyLocation"];
[[NSNotificationCenter defaultCenter] postNotificationName:notificationName object:nil userInfo:dict];
}
- (void)locationManager:(CLLocationManager *)manager
didUpdateLocations:(NSArray *)locations {
CLLocation *currentLocation = [locations lastObject];
if (currentLocation != nil) {
lon = [NSString stringWithFormat:@"%.8f", currentLocation.coordinate.longitude];
lat = [NSString stringWithFormat:@"%.8f", currentLocation.coordinate.latitude];
[self postNotificationWithString:[NSString stringWithFormat:@"%@,%@", lat, lon]];
}
// Save battery consumption
[locationManager stopUpdatingLocation];
}
TestViewController.h
@implementation TestViewController
- (id)initWithStyle:(UITableViewStyle)style
{
self = [super initWithStyle:style];
if (self) {
// Custom initialization
}
return self;
}
- (void)viewDidLoad {
[[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(useNotificationWithString:) name:@"LocationDetectedNotification" object:nil];
{
- (void)useNotificationWithString:(NSNotification*)notification {
NSLog(@"Location Retrieved");
NSDictionary *dict = [notification userInfo];
self.location = [dict valueForKey:@"MyLocation"];
}
をクリックしてTestViewController
も何も起こりません。storyboard
ビューコントローラーの作成に使用しました。前もって感謝します!