@interface MyClass {
NSString *_myString;
}
@property (copy) *myString;
@end
@implementation MyClass
@synthesize myString = _myString;
- (void)awakeFromNib {
self.myString = @"";
}
在笔尖中,我有一个NSTextField和一个NSButton。文本字段的Value绑定设置为myClass.myString。我确认在文本字段中输入文本时正确更新了变量_myString。
NSButton的Enabled绑定设置为myClass.myString.length。但是,当我启动程序时,NSButton已启用!如果我转到文本字段并在其中键入内容,则按钮保持启用状态。然后,如果我从文本字段中删除文本,该按钮将被禁用。
但是为什么在awakeFromNib中调用后禁止按钮开始?我是否还需要做一些额外的工作才能使绑定工作方向相反(myClass.myString - > NSTextField)?我认为将myString声明为属性就可以了。
答案 0 :(得分:0)
我不确定导致这种情况的原因,但我会说最简单的修复方法,因为您的文字将以空白开头,awakeFromNib
执行类似[myButton setEnabled:false];