Ответ был намного проще, чем я себе представлял. Самый простой способ сделать это - просто добавить точку останова в объявлении свойства. Отладчик будет прерываться всякий раз, когда свойство будет либо прочитано, либо записано.
Если, как и я, вы хотите разбить только при изменении свойства и игнорировании извлечений, установите точку останова в объявлении свойства, затем перейдите в консоль LLDB и введите «br list», чтобы просмотреть список всех ваших контрольные точки:
(lldb) br list
Current breakpoints:
1: file = '/Users/testuser/Desktop/TestFoo/Test.swift', line = 12, locations = 3, resolved = 3, hit count = 1
1.1: where = TestFoo`TestFoo.Test.x.getter : Swift.Int + 12 at Test.swift:12, address = 0x00000001084cfefc, resolved, hit count = 1
1.2: where = TestFoo`TestFoo.Test.x.setter : Swift.Int + 16 at Test.swift:12, address = 0x00000001084cff80, resolved, hit count = 0
1.3: where = TestFoo`TestFoo.Test.x.materializeForSet : Swift.Int + 16 at Test.swift:12, address = 0x00000001084d00f0, resolved, hit count = 0
Как вы можете видеть, что есть хозяин точки останова «1» с тремя суб-контрольными точками. Отключите контрольную точку для геттера:
(lldb) br disable 1.1
1 breakpoints disabled.
и все вы настроены. Отладчик будет ломаться только тогда, когда это свойство будет изменено.