NSTableView und Notification

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

Aufgrund der Corona-Krise: Die Veröffentlichung von Stellenangeboten und -gesuchen ist bis 31.12.2021 kostenfrei. Das beinhaltet auch Angebote und Gesuche von und für Freischaffende und Selbstständige.

  • NSTableView und Notification

    Ich habe einen NSTableView bei dem ich wissen möchte, wenn jemand eine Zeile anklickt.

    Dazu habe ich eine Benachrichtigung - im viewDidLoad - eingerichtet:

    Quellcode

    1. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(tableViewSelectionDidChange:) name:NSTableViewSelectionDidChangeNotification object:mainTable];

    beim anklicken wird die Funktion auch aufgerufen:

    Quellcode

    1. -(void)tableViewSelectionDidChange:(NSNotification *)notification {
    2. NSInteger datensatzID = [[dataCellID objectAtIndex:[[notification object] selectedRow]] integerValue];
    3. NSLog(@"%ld", [[notification object] selectedRow]);
    4. NSLog(@"%li", datensatzID);
    5. }
    Aber leider immer zweimal. Wo liegt mein Fehler?
  • Problem gelöst!

    Wenn ich die Benachrichtigung erst lösche und dann einfüge wird sie nur einmal aufgerufen.

    Quellcode

    1. [[NSNotificationCenter defaultCenter] removeObserver:self name:NSTableViewSelectionDidChangeNotification object:mainTable];
    2. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(tableViewSelectionDidChange:) name:NSTableViewSelectionDidChangeNotification object:mainTable];