在使用Xcode进行调试时,当鼠标光标在代码中指向属性值时,是否有办法查看该属性值?
我不明白为什么,即使在Xcode 6上,我也需要单击在使用Xcode进行调试时,当鼠标光标在代码中指向属性值时,是否有办法查看该属性值?,xcode,xcode6,Xcode,Xcode6,我不明白为什么,即使在Xcode 6上,我也需要单击self,搜索属性,然后才能看到值。 如果对象有100个属性,那么它非常烦人 我正在寻找一个简单的解决方案,当我将鼠标光标设置在self.someproperty上时, 在“someproperty”上方,我将看到它的值,在任何情况下,NSString,NSArray,等等 谢谢。您可以在控制台中使用lldb的日志功能,这是一个巨大的帮助: 在调试区域的右侧有控制台(这也是所有NSLog输出的位置) 在控制台中,您可以使用命令po(打印对象)和
self
,搜索属性,然后才能看到值。
如果对象有100个属性,那么它非常烦人
我正在寻找一个简单的解决方案,当我将鼠标光标设置在self.someproperty
上时,
在“someproperty
”上方,我将看到它的值,在任何情况下,NSString
,NSArray
,等等
谢谢。您可以在控制台中使用lldb的日志功能,这是一个巨大的帮助: 在调试区域的右侧有控制台(这也是所有
NSLog
输出的位置)
在控制台中,您可以使用命令po
(打印对象)和print
打印变量的值
您可以在控制台中使用lldb的日志功能,这是一个巨大的帮助: 在调试区域的右侧有控制台(这也是所有
NSLog
输出的位置)
在控制台中,您可以使用命令po
(打印对象)和print
打印变量的值
这大概是因为您在上面悬停的“属性”不是真正的变量。它们是访问器方法(通常引用支持实例变量,但不一定如此)的语法糖。这些访问器方法(getter和setter)要么是为您合成的,要么是您手动实现了自己的自定义方法。有关声明属性的更多信息,请参阅Apple核心竞争力文档或Objective-C编程文档中的讨论 考虑下面的
foo
属性。您不能将鼠标悬停在对self.foo
的引用上,查看您所期望的内容。但是,如果将鼠标悬停在支持属性的实例变量(ivar)上,则可能:
(顺便说一句,请注意上面对self.foo=…
的引用并没有引用foo
getter方法,而是实际调用setter方法setFoo
。因此,让IDE调试器通过悬停在该“属性”上来识别这一点似乎是一个非常重要的练习。)虽然执行在那里暂停,但要知道您想要调用getter来查看值,而不是调用代码行实际引用的setter。)
无论如何,回到IDE,您也可以打开self
,您也会在那里看到它:
这些技术并不完善(有时调试器会感到困惑),但希望这能说明基本的UI
我猜想您希望它在将鼠标悬停在属性名称上时调用访问器方法。这是否意味着您也希望它调用鼠标恰好悬停在其上的任何随机方法?在纯函数式语言中,这个概念似乎更合理一些,但在过程式语言中,任何方法都可能改变状态变量并产生一些意外后果,这似乎是危险的。我会认为,如果你考虑这样一个特征,它应该需要一些更积极的行动,而不仅仅是徘徊在它上面
无论如何,如果您真的想要此功能,请在提交“功能请求” 这大概是因为您在上面悬停的“属性”不是真正的变量。它们是访问器方法(通常引用支持实例变量,但不一定如此)的语法糖。这些访问器方法(getter和setter)要么是为您合成的,要么是您手动实现了自己的自定义方法。有关声明属性的更多信息,请参阅Apple核心竞争力文档或Objective-C编程文档中的讨论 考虑下面的
foo
属性。您不能将鼠标悬停在对self.foo
的引用上,查看您所期望的内容。但是,如果将鼠标悬停在支持属性的实例变量(ivar)上,则可能:
(顺便说一句,请注意上面对self.foo=…
的引用并没有引用foo
getter方法,而是实际调用setter方法setFoo
。因此,让IDE调试器通过悬停在该“属性”上来识别这一点似乎是一个非常重要的练习。)虽然执行在那里暂停,但要知道您想要调用getter来查看值,而不是调用代码行实际引用的setter。)
无论如何,回到IDE,您也可以打开self
,您也会在那里看到它:
这些技术并不完善(有时调试器会感到困惑),但希望这能说明基本的UI
我猜想您希望它在将鼠标悬停在属性名称上时调用访问器方法。这是否意味着您也希望它调用鼠标恰好悬停在其上的任何随机方法?在纯函数式语言中,这个概念似乎更合理一些,但在过程式语言中,任何方法都可能改变状态变量并产生一些意外后果,这似乎是危险的。我会认为,如果你考虑这样一个特征,它应该需要一些更积极的行动,而不仅仅是徘徊在它上面
无论如何,如果您真的想要此功能,请在提交“功能请求” 你是说在调试器中?我是说在实际执行的代码中设置断点的位置。实现类。你是说在调试器中?我是指在实际执行的代码中设置断点的位置。实现类。好吧,这在xcode中是不可能的:/你可以去为它提交一个雷达文件,这样苹果可能会在未来的版本中实现。你可以在控制台中更改一个变量吗?好吧,这在xcode中是不可能的:/你可以去为它提交一个雷达文件,以便应用