How can I Quick Look custom objects with Xcode 5 visual debugger?

前端 未结 2 1703
既然无缘
既然无缘 2020-12-18 00:36

Xcode 5 has a great new feature where you can hover over a variable name and get a visual representation of a UIColor, UIImage, or even UIBezierPath.

I vaguely reme

相关标签:
2条回答
  • 2020-12-18 01:09

    Now that 5.1 has been officially released I've released this new blog post on the matter.

    To answer your question: Yes, this is indeed a feature available in the new release of XCode (v5.1) and can be used very easily by subclassing an object and returning whatever it is you want to see while debugging in a -(id)debugQuickLookObject method.

    0 讨论(0)
  • 2020-12-18 01:25

    This is a new feature in Xcode 5.1, and the documentation on it can be found here. In a nutshell, you override -(id)debugQuickLookObject and return an OS type that already supports Quick Look, e.g. UIImage or NSAttributedString (full list of types in documentation):

    - (id)debugQuickLookObject
    {
        UIImage *image = [...];
        // Drawing code here
        return image;
    }
    

    For Swift:

    There are a few options as of writing, none ideal:

    • Conform to CustomPlaygroundQuickLookable, but that only works in Playgrounds (and requires Xcode 7/Swift 2).
    • Use the same method as for Objective C. This requires your class to be marked @objc (or inherit a Objective-C class) as the caller relies on selectors.
    • Conform to Reflectable, but that requires you to provide a full custom MirrorType with a bunch of other properties along with the QuickLookObject (and doesn't even seem to work as of Xcode 7?)
    0 讨论(0)
提交回复
热议问题