所以我的问题是:
我正在尝试为自定义视图xib设置单例。当我发出通知时,它不会被观察者抓住,因为显然我的组合框具有与“_sharedInstance”不同的“自我”。
这是代码 - initWithCoder :
-(id)initWithCoder:(NSCoder *)coder{
if (_sharedInstance){
self = _sharedInstance;
return self;
}else{
_sharedInstance = [super initWithCoder:coder];
return _sharedInstance;
}
}
awakeFromNib :(因为在initWithCoder中: _sharedInstance.cmbBox 为零)
-(void)awakeFromNib{
_sharedInstance.cmbBox.delegate = _sharedInstance;
}
应该抓住组合框选择的代表:
// NSComboBoxDelegate:
-(void)comboBoxSelectionDidChange:(NSNotification *)notification{
if (notification.object == _sharedInstance.cmbBox){
NSLog(@"Do Something!");
[[NSNotificationCenter defaultCenter] postNotificationName:@"DoSomething" object:_sharedInstance userInfo:nil];
}
}
问题是 notification.object!= _sharedInstance.cmbBox ,所以它永远不会进入if语句......
我做了些蠢事吗? :)