正在从其委托通知访问NSTextField…



我正在对NSTextField 进行子类化

MultiTextField.h

#import <AppKit/AppKit.h>
@interface MultiTextField : NSTextField {
    id storedObject;
}
@property (nonatomic, retain) id storedObject;
@end

MultiTextField.m

#import "MultiTextField.h"
@implementation MultiTextField
@synthesize storedObject;
@end

存储指向一个对象的指针,我想对其进行"重命名"。

我使这个文本字段可编辑,并有一个代理,它可以监听controlTextDidChange:并正常工作:

- (void)controlTextDidChange:(NSNotification *)aNotification {
    NSTextView *textView = [[aNotification userInfo] objectForKey:@"NSFieldEditor"];
    NSString *theString = [[textView textStorage] string];
    if([theString length] > 0 ) {
        MyObject *theObject = ???; // I need access to the MultiTextField.storedObject!
        [theObject setName:theString];
    }
}

唯一的问题是我无法访问storedObject(请参阅if块中的注释)。

那么我该如何访问storedObject呢?

试试这个:

MyObject *theObject = [[aNotification object] storedObject];

最新更新