【发布时间】:2013-06-24 22:09:46
【问题描述】:
我无法从 NSTextField 子类调用外部方法。我有一个 NSTextField 子类,我正在监视文本,当 textDidChange 我正在调用一个属于 NSObject 类的外部方法时。由于某种原因,我的方法没有被调用。我希望有人能解释原因。我的代码如下。谢谢。
编辑:修正了 drawag 建议的代码。
MyTextField.h
#import <Cocoa/Cocoa.h>
@class ObjectController;
@interface MyTextField : NSTextField <NSTextFieldDelegate> {
ObjectController *objectController;
}
@property (strong, nonatomic) ObjectController *objectController;
@end
MyTextField.m
#import "MyTextField.h"
#import "ObjectController.h"
@implementation MyTextField
@synthesize objectController;
- (void)textDidChange:(NSNotification *)notification{
[objectController methodFromOtherClass];
}
@end
ObjectController.h
#import <Foundation/Foundation.h>
@interface ObjectController : NSObject {
}
- (void)methodFromOtherClass;
@end
ObjectController.m
#import "ObjectController.h"
@implementation ObjectController
- (void) methodFromOtherClass {
NSLog(@"Testing");
}
【问题讨论】:
-
你应该在你的头部声明
ObjectController(不要#import它!)——在你的实现中#import它。 -
好的,我试试。谢谢。
-
嗯,我试过你说的,但仍然没有被调用。还有其他建议吗?
标签: objective-c macos cocoa nstextfield nsobject