नहीं आप lldb में दृश्य पदानुक्रम प्रदर्शित करना चाहते हैं तो आप किसी भी श्रेणियां जोड़ने या ब्रिजिंग की जरूरत नहीं है हेडर या ऐसा कुछ भी। जब ऑब्जेक्टिव-सी कोड डिबगिंग, एक आम तौर पर (lldb)
प्रॉम्प्ट पर निम्न आदेश का उपयोग होगा:
po [[UIWindow keyWindow] recursiveDescription]
हैं, हालांकि, आप एक स्विफ्ट फ्रेम में रोक दिया है, lldb एक स्विफ्ट अभिव्यक्ति की उम्मीद कर सकते हैं।आप, हालांकि, स्पष्ट रूप से बता सकते हैं expr
(po
संक्षिप्त नाम वास्तव में बुला रहा है expression
) जो भाषा अभिव्यक्ति है में:
expr -l objc++ -O -- [[UIWindow keyWindow] recursiveDescription]
एक ही पैटर्न iOS 8 में पाए जाते हैं, दृश्य नियंत्रक पदानुक्रम को देखने का उपयोग करते समय, :
po [UIViewController _printHierarchy]
या, स्विफ्ट फ्रेम में:
expr -l objc++ -O -- [UIViewController _printHierarchy]
यह ध्यान देने योग्य है कि Xcode 8 दृश्य डीबगर ( पर क्लिक करें) शुरू की, दृश्य पदानुक्रम का विश्लेषण करने के अधिक सहभागी रूप से की पेशकश, काफी हद तक दृश्य पदानुक्रम के LLDB recursiveDescription
की आवश्यकता को समाप्त लायक है। अधिक जानकारी के लिए डब्ल्यूडब्ल्यूडीसी 2016 वीडियो Visual Debugging with Xcode देखें। माना जाता है कि, कभी-कभी हम उपरोक्त दिखाए गए recursiveDescription
तकनीक पर वापस आना बंद कर देते हैं, लेकिन अधिकांश समय व्यू डिबगर इसे एक और अधिक प्राकृतिक, अंतर्ज्ञानी प्रक्रिया बनाता है।
और Xcode 9 में, वे इस दृश्य डिबगर का विस्तार किया है इसलिए अब प्रासंगिक दृश्य नियंत्रकों शामिल भी:
एफवाईआई, अगर आप स्विफ्ट या ओब्जे-सी डीबग करते समय [self.view रिकर्सिव डिस्क्रिप्शन] का उपयोग करना चाहते हैं, तो आप ऐप और पीओ [self.view रिकर्सिव डिस्क्रिप्शन] को रोक सकते हैं। [[UIWindow keyWindow] _autolayoutTrace] विशेष रूप से XCode6 के दृश्य डीबगर के संयोजन के रूप में उपयोग की जाने वाली दृश्य बाधाओं को डीबग करने के लिए बहुत अच्छा है। –