Objective-CからSwiftへの変換メモ その8

Swiftで多分、こうだろうと言う互換コードをあれこれひねくり回しているうちに、見つけ出したと思われるので、メモしておく。

Objective-C

@implementation PreferencesWindow

- (BOOL)validateUserInterfaceItem:(id)anItem
{
  SEL action = [anItem action];
  if(action == @selector(toggleToolbarShown:)) return NO;
  return [super validateUserInterfaceItem:anItem];
}

@end

Swift

class PreferencesWindow: NSWindow {

    // Disable tool bar toggling
    override func validateUserInterfaceItem(_ item: NSValidatedUserInterfaceItem) -> Bool {

        if item.action == #selector(NSWindow.toggleToolbarShown(_:)) {

            return false
        }

        return super.validateUserInterfaceItem(item)
    }
}

何に使うかと言うと、Swiftで、タブあり環境設定ウインドウを作った際、環境設定のツールバーが閉じられないようにするために使うものである。

参考:
SwiftにおけるSelector(SEL)の比較

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

この投稿へのトラックバック

トラックバックはありません。

トラックバック URL