0

I'm trying to create my own NSNotificationCenter just to get better at programming. I am running into an EXC_BAD_ACCESS that I can't quite work out.

My method:

- (void)addObserver:(id)observer forKey:(NSString *)theKey withSelector:(SEL)block {
    NSString *selector = NSStringFromSelector(block);
    NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:observer, @"o",selector, "s", nil];
    [[observers objectForKey:theKey] addObject:dict];
}

I get the error in the initialization of NSDictionary *dict, and I don't understand why. The observer being added is a UIViewController which is calling this method in it's viewDidLoad which runs in applicationDidFinishLaunching, if that matters.

I get error EXC_BAD_ACCESS code=1

Any help would be appreciated,.

Cheers.

Zaid Daghestani
  • 8,555
  • 3
  • 34
  • 44

1 Answers1

2
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:observer, @"o",selector, "s", nil];

Looks like you are missing an @ on "s" to me.

NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:observer, @"o",selector, @"s", nil];

For your convenience.

marcus.ramsden
  • 2,633
  • 1
  • 22
  • 33