2013-05-31 44 views
7

Tôi có câu hỏi về tính năng "Hiển thị tóm tắt" trong Xcode mà this guys đang nói đến.Cách hiển thị mô tả mục tiêu-c trong xcode

Hiện tại, tôi triển khai descriptiondebugDescription trong các lớp Objective-C để tôi có thể nhập po myObject để xem nhanh nội dung và điều này tiết kiệm thời gian cho tôi.

Tuy nhiên, tôi muốn biết nếu có cách nào để hiển thị điều này trong mục "Hiển thị tóm tắt" này. Loại giống như khi có một NSString, nó chỉ cho bạn thấy chuỗi trong khung Nội dung mà không cần nỗ lực nhiều hơn từ bạn.

Và tôi cũng làm điều này cho các đối tượng của riêng mình? Điều này sẽ giúp tôi tiết kiệm rất nhiều thời gian :)

Cảm ơn mọi người.

Sửa Nhờ bình luận Martin R của tôi quản lý để có được những gì tôi muốn :) Link

+1

Bạn cần một số tập lệnh Python. Trang web này cho thấy cách hoạt động: http://stavash.wordpress.com/2013/01/06/advanced-issues-creating-custom-lldb-object-summaries/ –

+0

Phát ngay! Tôi sẽ cung cấp cho một thử và cập nhật chủ đề này nếu nó hoạt động (hoặc không). – OLL

+0

Tôi chỉ nhớ rằng tôi đã sử dụng "tóm tắt tùy chỉnh" làm ví dụ trong câu trả lời cho một câu hỏi khác ở đây: http://stackoverflow.com/questions/14159070/when-is-lldb-init-module-called, để có lẽ cũng có thể giúp đỡ. –

Trả lời

1

Về cơ bản bạn có thể sử dụng một kịch bản python như thế này ngay dưới đây để nhận được bất kỳ bản tóm tắt tùy chỉnh liên quan đến bất kỳ đối tượng

# 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') 

Để tải tóm tắt tùy chỉnh trong khi lldb đang chạy, bạn nên nhập tập lệnh ở trên bằng cách chạy command script import /path/to/customSummaries.py và đó là tất cả.

Các vấn đề liên quan