以前に NSTableView を数回使用したことがあり、このメソッドを問題なく使用しましたが、何らかの理由で最新のプログラムでは、tableViewSelectionDidChange:
行を切り替えるときにデリゲート メソッドが呼び出されません。これのソースを取得しようとする非常に単純なプログラムを作成しましたが、何らかの理由でまだ機能していません。おそらく何か小さなものを見落としていることはわかっていますが、これを何時間もじっと見つめていて、それが機能する他のコードと比較していて、何も見えません。
AppDelegate.h:
#import <Cocoa/Cocoa.h>
@interface AppDelegate : NSObject <NSApplicationDelegate, NSTableViewDataSource, NSTableViewDelegate>
//not sure if the NSTableViewDelegate part is needed, as I've used this before without it
@property (assign) IBOutlet NSWindow *window;
@property (weak) IBOutlet NSTableView *tableView;
@end
AppDelegate.m:
#import "AppDelegate.h"
@implementation AppDelegate
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
}
- (void)tableViewSelectionDidChange:(NSNotification *)aNotification{
NSLog(@"Row changed");
}
- (NSInteger)numberOfRowsInTableView:(NSTableView *)aTableView
{
return 2;
}
- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(NSInteger)rowIndex
{
return nil;
}
@end