我有一个NSSearchField
,其值绑定到NSArrayController
子类的query
字符串属性。阵列控制器观察对查询的更改并根据查询更新其过滤谓词。因此,每次用户输入内容时,结果都是即时搜索。问题是,无论何时设置数组控制器的filterPredicate
或fetchPredicate
(或调用fetch:
),搜索字段都会自动失去焦点,窗口使自己成为第一个响应者。用户只能在搜索字段上的焦点丢失之前键入单个字符。任何人都可以想到为什么提取数组控制器会导致第一响应者发生变化吗?