Есть ли способ в lldb перезаписать переменную readonly.Переопределить переменную readlly lldb swift
Например, если у вас на структуру
struct Object {
let name: String
}
Делать следующее в контрольной точке в Xcode с lldb
(lldb) expression object.name = "Tom"
будет приводить к
error: <EXPR>:2:19: error: cannot assign to property: 'name' is a get-only property
Я прекрасно понимаю, почему это происходит, просто хотите знать, есть ли простой способ обойти это во время отладки?
Пожалуйста, обратите внимание, что это в Swift & НЕ Objective-C
Зачем вам нужно перезаписывать переменную readonly? Поскольку вы знаете, что вы не можете изменить имя 'Object', почему бы вам не инициализировать новый« объект », а не изменить его имя? –
@ Joe, потому что, когда вы отлаживаете и используете lldb, часто бывает полезно изменить одну переменную во время выполнения, чтобы протестировать разные типы поведения. Если у вас есть сложный объект, требующий инъекции зависимостей, простое распределение нового объекта становится более сложным в вашей консоли. – sbarow
Так почему бы не изменить let to var? – WMios