我有以下代码在单独的函数中创建简单的NSButton
-(void)myFunction
{
NSButton *btn = [self createButton:@"Button_Name"];
if(some condition )
{
[btn setEditable:YES];
}
}
- (NSButton*)createButton:(NSString *)buttonName
{
NSButton *btn = [[NSButton alloc] initWithFrame:NSMakeRect(20, 0, 20, 20)];
[btn setButtonType:NSSwitchButton];
[btn setImagePosition:NSImageOnly];
[btn setTarget:self];
[btn setTitle: buttonName];
return btn;
}
在我的相同它工作正常。我在一个大项目中使用此代码。它会正常工作还是会导致一些问题。这是正确的方法吗?
答案 0 :(得分:2)
我想在你的通知中加入几件事:
您通过了buttonName
和buttonTitle
但从未使用过它。
您创建了NSButton
类型的对象,但您的对象名称违反惯例,通过阅读btnCell
某人会期望它为NSButtonCell
。
在上面的代码中,我看不到对新创建的按钮的任何引用,即使您没有将其添加到任何视图。 (我希望在你真正的大项目中你不会错过那些。)