NSTextView不调用controlTextDidChange:

时间:2012-03-05 12:29:28

标签: objective-c class delegates text-editor nstextview

我有一个类(“TextEditorViewController”),里面有一个NSTextView(“textView”)对象。我已将它与我的.xib文件中的NSTextView连接起来。这是我的.h文件:

#import <Foundation/Foundation.h>

@interface TextEditorViewController : NSObject {
    IBOutlet NSTextView *textView;           // connected in MainMenu.xib
    IBOutlet NSTextField *displayCharacters; // connected in MainMenu.xib
}

@end

这是我的.m文件:

#import "TextEditorViewController.h"    

@implementation TextEditorViewController

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    NSLog(@"applicationDidFinishLaunching called"); // printed to the debugger
    [textView setDelegate:(id)self];
}

- (void)controlTextDidChange:(NSNotification *)obj {
    NSLog(@"controlTextDidChange called"); // don't printed to the debugger ???
    [displayCharacters setIntValue:[[textView string] length]];
}

@end

但是当我更改NSTextView中的文本时,它不会调用controlTextDidChange :! 为什么呢?

谢谢你的回答! =)

2 个答案:

答案 0 :(得分:1)

在重建新项目中的文件后,它工作正常。似乎是文件管理配置问题。

答案 1 :(得分:0)

将委托部分移动到viewDidLoad 你为什么不把它放到一个viewcontroller?