我正在对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];