7

我有一个关于这些家伙正在谈论的 Xcode 中的“显示摘要”功能的问题。

目前,我实现descriptiondebugDescription在我的 Objective-C 类中,我只需键入po myObject即可快速查看内容,这节省了我的时间。

但是,我想知道是否有办法让它在这个“显示摘要”中显示出来。有点像当有一个 NSString 时,它只是在内容窗格中向您显示字符串,而无需您进一步努力。

我也为自己的对象这样做?这会节省我很多时间:)

谢谢各位。

编辑 感谢 Martin R 的评论,我设法得到了我想要的东西 :) 链接

4

1 回答 1

1

基本上,您可以使用下面这样的 python 脚本来获取与任何对象关联的任何自定义摘要

# filename : customSummaries.py
import lldb

def someClass_summary(valueObject, dictionary):
    # get properties from object
    ivar1 = valueObject.GetChildMemberWithName('_ivar')
    ivar2 = valueObject.GetChildMemberWithName('_ivar2')

    # convert values into python intrinsics
    error = lldb.SBError()
    var1 = ivar1.GetData().GetFloat(error, 0)
    var2 = ivar2.GetData().GetDouble(error, 0)

    # string generation we're gonna use for the summaries
    valueRepr1 = str(var1)
    valueRepr2 = str(var2)

    return 'value1= ' + valueRepr1 + ', value2= ' + valueRepr2  

# this function gets called by the lldb as this script is imported
def __lldb_init_module(debugger, dict):

# this adds automatically your summaries as the script gets imported
debugger.HandleCommand('type summary add Class -F customSummaries.someClass_summary')

要在 lldb 运行时加载自定义摘要,您应该通过运行导入上面的脚本,仅此而已command script import /path/to/customSummaries.py

于 2013-06-08T23:35:08.763 回答