objective-c - 需要澄清 NSButton 的创建和使用

标签 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. 您传递了 buttonNamebuttonTitle 但从未使用过它。

  2. 您创建了一个 NSButton 类型的对象,但您的对象名称违反了约定,通过读取 btnCell ,有人会期望它是 NSButtonCell.

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

关于objective-c - 需要澄清 NSButton 的创建和使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20372286/

相关文章:

ios - dictionaryWithObjectsAndKeys 内循环

macos - CMake IN_LIST关键字的行为貌似不正确

objective-c - 如何从 NSResponder 显式发送键值观​​察通知?

cocoa - 多个 NSURLDownloads 有进度

iphone - 了解坐标, View , subview 和方向更改

iphone - 命令/开发人员/平台/iPhoneSimulator.platform/Developer/usr/bin/clang 失败

ios - 更改自定义 UIView 上的选项卡

macos - gpg "failed to write commit object"

javascript - 为什么我的网站上的导航栏会发生变化?

objective-c - 如何查看完整的 macOS os_log_info 消息而不截断行