Если я хочу перейти к методу, передаваемому синтезированными свойствами, я должен сначала входить и выходить из каждого из этих свойств. Есть ли способ сказать XCode игнорировать их?
Могу ли я предотвратить переход XCode 4 в синтезированные свойства?
Ответ 1
Я не думаю, что это возможно: свойство - это код клея MERE, поэтому компилятор видит и компилирует фактическое расширение клея/макроса, поэтому в двоичном коде есть эти вызовы, и отладчик будет входить в эти части двоичного кода.
Чтобы быть более точным, каждый self.XY является "CALL" для другой функции в asm..
в симуляторе мы могли видеть:
0x7853: movl -16(%ebp), %eax
0x7856: movl -24(%ebp), %ecx
0x7859: movl -48(%ebp), %edx
0x785c: movl 92138(%edx), %esi
0x7862: movl %eax, (%esp)
0x7865: movl %esi, 4(%esp)
0x7869: movl %ecx, 8(%esp)
0x786d: calll 0x15ed2 ; symbol stub for: objc_msgSend
это код self.XY.