ステップ 1: コントローラー クラスは NSSearchFieldDelegate から継承する必要があります
ステップ 2: 以下の 2 つの方法を実装する
func searchFieldDidStartSearching(sender: NSSearchField){
print("searchFieldDidStartSearching \(sender.stringValue)")
}
func searchFieldDidEndSearching(sender: NSSearchField){
print("searchFieldDidEndSearching \(sender.stringValue)")
}
ステップ 3: viewDidLoad、windowDidLoad、awakeFromNib などで、検索フィールドのデリゲートをビュー コントローラー/ウィンドウ コントローラーなどとして設定します。
self.searchField.delegate = self
作業サンプルは以下の通りです
// AppDelegate.swift
// NSSearchFieldDelegateSampleCode
// Created by Debasis Das on 27/05/16.
// Copyright © 2016 Knowstack. All rights reserved.
import Cocoa
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate, NSSearchFieldDelegate {
@IBOutlet weak var window: NSWindow!
@IBOutlet weak var searchField:NSSearchField!
func searchFieldDidStartSearching(sender: NSSearchField){
print("searchFieldDidStartSearching \(sender.stringValue)")
}
func searchFieldDidEndSearching(sender: NSSearchField){
print("searchFieldDidEndSearching \(sender.stringValue)")
}
func applicationDidFinishLaunching(aNotification: NSNotification) {
// Insert code here to initialize your application
self.searchField.delegate = self
}
func applicationWillTerminate(aNotification: NSNotification) {
// Insert code here to tear down your application
}
}