2011-07-27 63 views
1

我尽量做到尽可能的短,请不要误会我的意思,如果我不提供足够的信息:如何委托textStorageDidProcessEditing通知?

我在一个基于文档的可可应用程序,它是a tutorial by Apple for programming a text editor within 15 minutes结果得到了一个N​​STextView。在我的“PureBasicDocument.m”实现中,我得到了textDidChange方法,每当我在NSTextView中更改某些内容时都会调用它。我也得到了textStorageDidProcessEditing通知的方法,但它永远不会被调用。我如何调用它?我确信我只是忘了分配网点或类似的东西。但是在textView和他们网点的窗口盯着看,一遍又一遍地看着我并没有带来更多的进展。我无能为力。有总比没有好,这里是至少我的文档类的头文件(“PureBasicDocument.h”)现在:

#import <Cocoa/Cocoa.h> 

@interface PureBasicDocument : NSDocument { 
    IBOutlet NSTextView *textView; 
    NSAttributedString *mString; 
} 

- (NSAttributedString *) string; 
- (void) setString: (NSAttributedString *) value; 
- (void) textDidChange: (NSNotification *) notification; 
- (void) textStorageDidProcessEditing: (NSNotification *) notification; 

@end 

我再次道歉,如果我没有使用“委托”(进一步)表达权,对于Objective-C和Mac上的编程,我仍然是全新的。

回答

1

右键单击MainMenu.xib中的pureBasicDocument对象。您可以看到outlet(textView)。 从那里你可以连接到相应的tableview。 确保你是否有包含在“引用奥特莱斯”委托

+0

我NSTextView连接作为代表。在“Outlets”下,我有一个textView和一个只有窗口连接的窗口。在那连接textView没有任何作用。 PS:我没有任何的tableView - 只滚动视图无法连接。 据我了解我还需要使这是由NSTextView而不是NSTextView本身包含的NSTextStorage的代表。 –