почему это не работает в окне отладки XCode "po [myNsDateComponent weekday]" - PullRequest
3 голосов
/ 09 мая 2011

почему это не работает в окне отладки XCode "po [myNsDateComponent weekday]"?

Конкретный пример:

(gdb) po weEndDayTime
<NSDateComponents: 0x4f241d0>

(gdb) po [weEndDayTime weekday]
0x2 does not appear to point to a valid object.

1 Ответ

7 голосов
/ 09 мая 2011

Метод -weekday для NSDateComponents возвращает int. Но po не работает с примитивными типами значений, только с типами указателей.

В этом случае он преобразует целочисленный вывод этого метода, 0x2, в указатель и ищет объект с адресом указателя 0x2. Он ничего не может найти, поэтому выдает это сообщение.

Вместо этого используйте p, с соответствующим типом при необходимости:

(gdb) p (int) [weEndDayTime weekday]
$1 = 2
...