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