2011-07-27 9 views
1

私は十分な情報がない提供する場合、それは可能な限り短く、誤解しないでくださいようにしよう:textStorageDidProcessEditing通知をどのように委譲しますか?

私はa tutorial by Apple for programming a text editor within 15 minutesの結果であるドキュメントベースのCocoaアプリケーションでNSTextViewを得ました。私の "PureBasicDocument.m"実装では、NSTextViewで何かを変更するたびに呼び出されるtextDidChangeメソッドがあります。 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オブジェクトを右クリックします。アウトレット(textView)が表示されます。 そこからそれぞれのテーブルビューに接続することができます。 デリゲートを含めるかどうかを確認してください

+0

私のNSTextViewが「参照アウトレット」の下にデリゲートとして接続されています。アウトレットの下には、textViewとウィンドウのみが接続されたウィンドウがあります。その中のtextViewを接続しても効果はありません。 PS:私はtableViewを持っていない - 接続できないスクロールビューのみ。 私が理解する限り、NSTextView自体にではなく、NSTextViewに含まれるNSTextStorageの代理人を作る必要もあります。 –

関連する問題