Всякий раз, когда изменяется пользовательский интерфейс NSPredicateEditor
, эти изменения немедленно отражаются в objectValue
редактора (т. Е. Представленном NSPredicate
). Таким образом, вы можете просто взять этот предикат и заархивировать его, используя NSKeyedArchiver
. Это эффективно превратит предикат в объект NSData
, который можно сохранить в NSUserDefaults
.
Чтобы прочитать его обратно, просто возьмите объект NSData
, пропустите его через NSKeyedUnarchiver
и setObjectValue:
в редакторе предикатов.
Вы можете , вероятно, выполнить это через привязки, хотя я никогда не пробовал. Вы можете привязать value
NSPredicateEditor
к чему-либо, что поставляет NSPredicate
(или NSPredicate
в NSData
форме). Возможно, вам также понадобится указать, что преобразователь значения - это NSKeyedUnarchiveFromData
.