2

据我所知,UIView 中的“标签”字段是整数。为什么我的一个 UIButtons 的标签中有“nil”值?

(lldb) po [button_one tag]
nil

我在设计器中设置了标签 0,但仍然在代码中返回 nil 标签。

4

2 回答 2

15

po表示“打印对象”。整数不是对象。并且nil将等于零的整数值。

因此,在 lldb 中,您应该使用它p来打印整数值。这可能是正确的。

于 2013-09-26T21:25:21.793 回答
4

我的输出略有不同,但重点是,如果整数为 0,则尝试在整数上打印对象(如 Wain 所说)会导致 nil ,如果整数为非零,则会导致错误。(但在这种情况下 lldb 仍然给出 p (int) 值)

(lldb) po 0
$0 = 0 <nil>
(lldb) po nil
$1 = 0x00000000 <nil>
(lldb) po button.tag
$2 = 0 <nil>
(lldb) p (int)button.tag
(int) $3 = 0

将标签设置为 1

(lldb) po button.tag
$4 = 1 [no Objective-C description available]
(lldb) p (int)button.tag
(int) $5 = 1
于 2013-09-26T21:33:58.037 回答