Хорошо, я добавлю это к моему ответу !! Благодарю. Небольшое соображение для решения проблемы таким способом заключается в том, что вы теряете немного ясности относительно того, почему свойство непосредственно помечено

ользую NSPredicate для фильтрации массива в Swift. Проблема заключается в том, что после обновления до iOS 11 (Xcode 9 / w Swift 4) у меня продолжает появляться сбой в строке фильтра. Вот журнал сбоев:

Завершение работы приложения из-за необработанного исключения NSUnknownKeyException, причина:> '[valueForUndefinedKey:]: этот класс не является ключом> значение, совместимое с кодировкой для имени ключа.'

Вот пример класса, который у меня есть массив:

final class Model: NSObject {
    let name: String
    init(name: String) {
        self.name = name
    }
}

Вот код, который дает сбой:

let myArray = [Model(name: "Jason"), Model(name: "Brian")]
let predicate = NSPredicate(format: "name == 'Jason'")
let filteredArray = myArray.filter { predicate.evaluate(with: $0)}

Вопрос в том, почему происходит сбой, когда я обновился до iOS 11?

Ответы на вопрос(1)

Ваш ответ на вопрос