Надеюсь, быстрый, на котором я застрял.
Я передаю строку UUID через переход к следующему VC. Это определенно работает, потому что я печатаю его на viewDidLoad.
Я хочу получить объект с этим UUID (workoutID). Я получаю сбой:
«Завершение работы приложения из-за неперехваченного исключения« Недопустимое значение », причина:« Ожидаемый объект строки типа для свойства «workoutID» в объекте типа «WorkoutSessionObject», но получено: 0 »»
Когда я пытаюсь запустить приведенный ниже код, который я адаптировал из других вопросов, связанных с поиском (я нахожу, что область запросов довольно сложна для понимания):
class WorkoutSummaryController: UIViewController, UITableViewDelegate, UITableViewDataSource {
// Holder for my UUID passed via Segue which is working
var workoutID = UUID().uuidString
override func viewDidLoad() {
print(workoutID)
// Set up the query to retrieve the object with the UUID that has been passed
let predicate = NSPredicate(format: "workoutID = %A", workoutID)
// Run the query and print the result which crashes
let test = try! Realm().objects(WorkoutSessionObject.self).filter(predicate)
print (test)
super.viewDidLoad()
}
}
Любая помощь приветствуется :-)





Ваш формат NSPredicate ошибочен. Вы должны использовать %@ для замены переменных и %K для путей к клавишам.
let predicate = NSPredicate(format: "workoutID = %@", workoutID)
ну такое маленькое изменение! Ты снова спас меня, Дэвид, спасибо!