需要澄清NSButton的创建和使用

时间:2013-12-04 10:04:21

标签: objective-c macos cocoa nsbutton

我有以下代码在单独的函数中创建简单的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;
}

在我的相同它工作正常。我在一个大项目中使用此代码。它会正常工作还是会导致一些问题。这是正确的方法吗?

1 个答案:

答案 0 :(得分:2)

我想在你的通知中加入几件事:

  1. 您通过了buttonNamebuttonTitle但从未使用过它。

  2. 您创建了NSButton类型的对象,但您的对象名称违反惯例,通过阅读btnCell某人会期望它为NSButtonCell

    < / LI>
  3. 在上面的代码中,我看不到对新创建的按钮的任何引用,即使您没有将其添加到任何视图。 (我希望在你真正的大项目中你不会错过那些。