Private Methoden zum Debuggen

    Sicher weiß jeder bereits, dass UIView eine nützliche Methode für die rekursive Beschreibung hat.
    Ein Aufruf, an den eine Zeichenfolge zurückgegeben wird, die die gesamte Hierarchie der Ansicht beschreibt.

    (lldb) po [[self view] recursiveDescription]
    

    Еще многие знают, что при помощи рантайма, можно получить список переменных/методов/свойств/протоколов/… класса. И обычно для этих целей пишут вспомогательный код. Но оказывается, все уже давно написано сотрудниками Apple. В UIKit.framework реализована категория с именем IvarDescription.

    @interface NSObject (IvarDescription)
    - (id)_shortMethodDescription;
    - (id)_methodDescription;
    - (id)__methodDescriptionForClass:(Class)arg1;
    - (id)_ivarDescription;
    - (id)__ivarDescriptionForClass:(Class)arg1;
    @end
    

    Названия метдов говорят за себя. Но давайте посмотрим, что же они возвращают.


    _methodDescription — все методы объекта, разбитые по классам от которых они унаследованы

    (lldb) po [UIApplication _methodDescription]
    :
    in UIApplication:
    	Class Methods:
    		+ (BOOL) registerAsSystemApp; (0x2378c5)
    		+ (BOOL) rendersLocally; (0x2378d7)
    		+ (void) _startWindowServerIfNecessary; (0x230e26)
    		+ (void) _startStatusBarServerIfNecessary; (0x230f9a)
    		+ (int) statusBarStyleForString:(id)arg1; (0x23c19d)
    		+ (int) _backgroundStyleForString:(id)arg1; (0x23c39e)
    		+ (BOOL) _isBackgroundStyleTransparent:(int)arg1; (0x23c4e0)
    		+ (int) interfaceOrientationForString:(id)arg1; (0x23c4ef)
    		+ (BOOL) isRunningInStoreDemoMode; (0x22abcb)
    		+ (BOOL) shouldMakeUIForDefaultPNG; (0x22ac29)
    		+ (void) _noteInterfaceOrientationChangingTo:(int)arg1; (0x22be17)
    		+ (void) _installAfterCACommitHandler; (0x22d45f)
    		+ (BOOL) _isAfterCACommitHandlerInstalled; (0x22d512)
    		+ (BOOL) isRunningEventPump; (0x237848)
    		+ (id) stringForStatusBarStyle:(int)arg1; (0x23c169)
    		+ (id) stringForInterfaceOrientation:(int)arg1; (0x23c5d9)
    		+ (void) registerObjectForStateRestoration:(id)arg1 restorationIdentifier:(id)arg2; (0x8e6863)
    		+ (id) sharedApplication; (0x22a2b0)
    	Properties:
    		@property (nonatomic, getter=isProximitySensingEnabled) BOOL proximitySensingEnabled;
    		@property (nonatomic) * delegate;
    		@property (nonatomic, getter=isIdleTimerDisabled) BOOL idleTimerDisabled;
    		@property (readonly, nonatomic) UIWindow* keyWindow;
    		@property (readonly, nonatomic) NSArray* windows;
    		@property (nonatomic, getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible;
    		@property (nonatomic) int statusBarStyle;
    		@property (nonatomic, getter=isStatusBarHidden) BOOL statusBarHidden;
    		@property (nonatomic) int statusBarOrientation;
    		@property (readonly, nonatomic) double statusBarOrientationAnimationDuration;
    		@property (readonly, nonatomic) CGRect statusBarFrame;
    		@property (nonatomic) int applicationIconBadgeNumber;
    		@property (nonatomic) BOOL applicationSupportsShakeToEdit;
    		@property (readonly, nonatomic) int applicationState;
    		@property (readonly, nonatomic) double backgroundTimeRemaining;
    		@property (readonly, nonatomic) int backgroundRefreshStatus;
    		@property (readonly, nonatomic, getter=isProtectedDataAvailable) BOOL protectedDataAvailable;
    		@property (readonly, nonatomic) int userInterfaceLayoutDirection;
    		@property (readonly, nonatomic) NSString* preferredContentSizeCategory;
    		@property (copy, nonatomic, setter=_setPreferredContentSizeCategoryName:) NSString* preferredContentSizeCategoryName;  (@synthesize preferredContentSizeCategoryName = _preferredContentSizeCategoryName;)
    		@property (nonatomic, getter=_lastTimestampWhenFirstTouchCameDown, setter=_setLastTimestampWhenFirstTouchCameDown:) double lastTimestampWhenFirstTouchCameDown;  (@synthesize lastTimestampWhenFirstTouchCameDown = _lastTimestampWhenFirstTouchCameDown;)
    		@property (nonatomic, getter=_lastTimestampWhenAllTouchesLifted, setter=_setLastTimestampWhenAllTouchesLifted:) double lastTimestampWhenAllTouchesLifted;  (@synthesize lastTimestampWhenAllTouchesLifted = _lastTimestampWhenAllTouchesLifted;)
    		@property (nonatomic, getter=_lastLocationWhereFirstTouchCameDown, setter=_setLastLocationWhereFirstTouchCameDown:) CGPoint lastLocationWhereFirstTouchCameDown;  (@synthesize lastLocationWhereFirstTouchCameDown = _lastLocationWhereFirstTouchCameDown;)
    		@property (nonatomic, getter=_lastLocationWhereAllTouchesLifted, setter=_setLastLocationWhereAllTouchesLifted:) CGPoint lastLocationWhereAllTouchesLifted;  (@synthesize lastLocationWhereAllTouchesLifted = _lastLocationWhereAllTouchesLifted;)
    	Instance Methods:
    		- (int) statusBarOrientation; (0x236147)
    		- (int) alertInterfaceOrientation; (0x247f45)
    		- (void) startedTest:(id)arg1; (0x38e6ce)
    		- (void) finishedTest:(id)arg1; (0x390a59)
    		- (id) _touchesEvent; (0x23d94f)
    		- (void) setApplicationSupportsShakeToEdit:(BOOL)arg1; (0x23bf31)
    		- (void) _deactivateForReason:(int)arg1 notify:(BOOL)arg2; (0x22b8f8)
    		- (void) _fetchInfoPlistFlags; (0x23c7f0)
    		- (void) _setTextLegibilityEnabled:(BOOL)arg1; (0x249882)
    		- (id) _mainStoryboardName; (0x22bf4d)
    		- (BOOL) _doRestorationIfNecessary; (0x249d5d)
    		- (void) applicationWillSuspend; (0x23752b)
    		- (void) _setHandlingURL:(BOOL)arg1 url:(id)arg2; (0x23a36a)
    		- (BOOL) _handleDelegateCallbacksWithOptions:(id)arg1 isSuspended:(BOOL)arg2 restoreState:(BOOL)arg3; (0x22c01a)
    		- (BOOL) _hasStoryboard; (0x22bfd8)
    		- (void) _applicationOpenURL:(id)arg1 payload:(id)arg2; (0x23a1b8)
    .....
    in UIResponder:
    	Class Methods:
    		+ (void) _startDeferredTrackingObjectsWithIdentifiers; (0x8e8348)
    		+ (void) _cleanupAllStateRestorationTables; (0x8e85dc)
    		+ (void) _updateStateRestorationIdentifierMap; (0x8e836c)
    		+ (id) objectWithRestorationIdentifierPath:(id)arg1; (0x8e802c)
    		+ (void) _setRestoredIdentifierPathForObject:(id)arg1 identifierPath:(id)arg2; (0x8e844d)
    		+ (void) _prepareForSecondPassStateRestoration; (0x8e85b6)
    		+ (void) _finishStateRestoration; (0x8e8644)
    		+ (void) clearTextInputContextIdentifier:(id)arg1; (0x398751)
    		+ (void) _stopDeferredTrackingObjectsWithIdentifiers; (0x8e835a)
    		+ (void) _cleanupStateRestorationObjectIdentifierTrackingTables; (0x8e856c)
    	Properties:
    		@property (readonly) UIView* inputView;
    		@property (readonly) UIView* inputAccessoryView;
    		@property (readonly) UITextInputMode* textInputMode;
    		@property (readonly) NSString* textInputContextIdentifier;
    		@property (readonly, nonatomic) NSArray* keyCommands;
    		@property (readonly, nonatomic) UIResponder* _editingDelegate;
    		@property (readonly, nonatomic) UIResponder* _responderForEditing;
    		@property (readonly, nonatomic, getter=_proxyTextInput) UIResponder* __content;
    		@property (readonly, nonatomic) UIView* _textSelectingContainer;
    		@property (readonly, nonatomic, getter=isEditable) BOOL editable;
    		@property (readonly, nonatomic, getter=isEditing) BOOL editing;
    		@property (readonly, nonatomic, getter=_caretRect) CGRect caretRect;
    		@property (copy, nonatomic) NSString* restorationIdentifier;
    		@property (readonly, nonatomic) NSUndoManager* undoManager;
    	Instance Methods:
    		- (id) _responderForEditing; (0x397e74)
    		- (BOOL) canPerformAction:(SEL)arg1 withSender:(id)arg2; (0x3983fc)
    		- (id) targetForAction:(SEL)arg1 withSender:(id)arg2; (0x39842c)
    		- (void) _physicalButtonsBegan:(id)arg1 withEvent:(id)arg2; (0x3996d6)
    		- (id) _deepestUnambiguousResponder; (0x39973f)
    		- (void) touchesCancelled:(id)arg1 withEvent:(id)arg2; (0x397b37)
    		- (id) _keyCommandForEvent:(id)arg1; (0x398bab)
    		- (void) _handleKeyUIEvent:(id)arg1; (0x399183)
    		- (void) _handleKeyEvent:(__GSEvent*)arg1; (0x399142)
    		- (void) _wheelChangedWithEvent:(id)arg1; (0x397cb7)
    		- (void) _physicalButtonsEnded:(id)arg1 withEvent:(id)arg2; (0x3996f9)
    		- (void) _physicalButtonsCancelled:(id)arg1 withEvent:(id)arg2; (0x39971c)
    		- (void) motionEnded:(int)arg1 withEvent:(id)arg2; (0x397bb3)
    		- (id) keyCommands; (0x398a39)
    		- (id) textInputMode; (0x398615)
    .....
    in NSObject:
    	Class Methods:
    		+ (void) _installAppearanceSwizzlesForSetter:(id)arg1; (0x78d82c)
    		+ (BOOL) __accessibilityGuidedAccessStateEnabled; (0x539dac)
    		+ (int) __accessibilityGuidedAccessRestrictionStateForIdentifier:(id)arg1; (0x539db3)
    		+ (void) __accessibilityRequestGuidedAccessSession:(BOOL)arg1 completion:(^block)arg2; (0x539dba)
    		+ (id) _alternateUISwitchableSelectorPairs; (0x3f929b)
    		+ (BOOL) isSelectorExcludedFromWebScript:(SEL)arg1; (0x42b5c40)
    		+ (BOOL) isKeyExcludedFromWebScript:(const char*)arg1; (0x42b5c50)
    		+ (id) _webkit_invokeOnMainThread; (0x42a4d90)
    

    __methodDescriptionForClass — список методов, реализованных в конкретном классе, без учета базовых классов

    (lldb) po [NSObject __methodDescriptionForClass:[NSString class]]
    in NSString:
    	Class Methods:
    		+ (void) _web_setWordRoundingEnabled:(BOOL)arg1; (0x42a4e50)
    		+ (BOOL) _web_wordRoundingEnabled; (0x42a4ea0)
    		+ (void) _web_setWordRoundingAllowed:(BOOL)arg1; (0x42a4ec0)
    		+ (BOOL) _web_wordRoundingAllowed; (0x42a4ee0)
    		+ (void) _web_setAscentRoundingEnabled:(BOOL)arg1; (0x42a4f00)
    		+ (BOOL) _web_ascentRoundingEnabled; (0x42a4f20)
    		+ (id) _webkit_localCacheDirectoryWithBundleIdentifier:(id)arg1; (0x42a0660)
    		+ (id) _web_stringWithData:(id)arg1 textEncodingName:(id)arg2; (0x42a0620)
    		+ (float) defaultLineHeightForFont:(id)arg1; (0x2e79478)
    		+ (float) defaultBaselineOffsetForFont:(id)arg1; (0x2e794ce)
    		+ (int) typesetterBehavior; (0x2e79389)
    		+ (float) hyphenationFactor; (0x2e79339)
    		+ (BOOL) usesFontLeading; (0x2e78f52)
    		+ (void) setUsesFontLeading:(BOOL)arg1; (0x2e78fa3)
    		+ (void) setTypesetterBehavior:(int)arg1; (0x2e793ed)
    		+ (BOOL) usesScreenFonts; (0x2e7901f)
    		+ (void) setUsesScreenFonts:(BOOL)arg1; (0x2e79089)
    		+ (void) setShowsInvisibleCharacters:(BOOL)arg1; (0x2e7911f)
    		+ (BOOL) showsInvisibleCharacters; (0x2e7919e)
    		+ (void) setShowsControlCharacters:(BOOL)arg1; (0x2e791f2)
    		+ (BOOL) showsControlCharacters; (0x2e79271)
    		+ (void) setHyphenationFactor:(float)arg1; (0x2e792c5)
    		+ (id) copyStringGUID; (0x7f54e23)
    		+ (id) copyStringGUIDForObject:(id)arg1; (0x7f54eee)
    		+ (id) stringGUID; (0x7f54e73)
    		+ (id) stringGUIDForObject:(id)arg1; (0x7f54ead)
    		+ (id) randomString; (0x7f54f14)
    		+ (id) generatedRoomNameForGroupChat; (0x7f54fa6)
    		+ (id) sbs_stringFromCGRect:(CGRect)arg1; (0x3d84171)
    		+ (id) stringWithUnichar:(unsigned long)arg1; (0x3fa6420)
    		+ (USet*) _characterSetWithPattern:(id)arg1; (0x3fa3bbc)
    		+ (id) _stringWithUnichar:(unsigned long)arg1; (0x3fa3a52)
    		+ (USet*) _ideographSet; (0x3fa40c1)
    		+ (USet*) _japaneseLetterSet; (0x3fa3fc1)
    		+ (USet*) _nonIdeographicCharacterSet; (0x3fa3cc9)
    		+ (USet*) _nonHiraganaOrKatakanaSet; (0x3fa3dc1)
    		+ (USet*) _nonHiraganaKatakanaOrBopomofoSet; (0x3fa3ec1)
    		+ (USet*) _bopomofoSet; (0x3fa41c1)
    		+ (USet*) _bopomofoToneSet; (0x3fa42c1)
    		+ (id) cutStringGUID; (0x7d5a0f3)
    		+ (unsigned int) defaultCStringEncoding; (0x11649ca)
    		+ (BOOL) supportsSecureCoding; (0x1258f74)
    		+ (id) localizedStringWithFormat:(id)arg1; (0x125684d)
    		+ (id) localizedNameOfStringEncoding:(unsigned int)arg1; (0x1166bbe)
    		+ (id) stringWithCharacters:(const unsigned short*)arg1 length:(unsigned int)arg2; (0x1188bbe)
    		+ (id) pathWithComponents:(id)arg1; (0x1165181)
    		+ (id) stringWithString:(id)arg1; (0x11a2e83)
    		+ (id) stringWithCString:(const char*)arg1; (0x1256740)
    		+ (id) stringWithCString:(const char*)arg1 length:(unsigned int)arg2; (0x12567ea)
    		+ (id) stringWithCString:(const char*)arg1 encoding:(unsigned int)arg2; (0x11a231c)
    		+ (id) stringWithBytes:(const void*)arg1 length:(unsigned int)arg2 encoding:(unsigned int)arg3; (0x11ef8a5)
    		+ (id) stringWithFormat:(id)arg1 locale:(id)arg2; (0x12568d5)
    		+ (id) stringWithContentsOfFile:(id)arg1; (0x125696b)
    		+ (id) stringWithContentsOfURL:(id)arg1; (0x12569c6)
    		+ (id) stringWithContentsOfURL:(id)arg1 encoding:(unsigned int)arg2 error:(id*)arg3; (0x116a661)
    		+ (id) stringWithContentsOfURL:(id)arg1 usedEncoding:(unsigned int*)arg2 error:(id*)arg3; (0x1256a2a)
    		+ (id) stringWithContentsOfFile:(id)arg1 usedEncoding:(unsigned int*)arg2 error:(id*)arg3; (0x1256a9c)
    		+ (const unsigned int*) availableStringEncodings; (0x1259e58)
    		+ (id) _web_stringRepresentationForBytes:(long long)arg1; (0x1273329)
    		+ (void) initialize; (0x117b78e)
    		+ (id) allocWithZone:(_NSZone*)arg1; (0x1180464)
    		+ (id) string; (0x11cb32f)
    		+ (id) stringWithUTF8String:(const char*)arg1; (0x118aad8)
    		+ (id) stringWithFormat:(id)arg1; (0x118eb75)
    		+ (id) stringWithContentsOfFile:(id)arg1 encoding:(unsigned int)arg2 error:(id*)arg3; (0x1205443)
    	Properties:
    		@property (readonly, nonatomic) NSString* mobileMeDomain;
    		@property (readonly, nonatomic) BOOL hasMobileMeSuffix;
    		@property (readonly, nonatomic) NSString* stripMobileMSuffixIfPresent;
    	Instance Methods:
    		- (id) _uikit_stringByTrimmingWhitespaceAndNewlines; (0x5c648c)
    		- (id) _uikit_stringWithWritingDirection:(int)arg1 asOverride:(BOOL)arg2; (0x5c6571)
    		- (id) queryKeysAndValues; (0x43e327)
    		- (id) unescapedQueryValue; (0x43e301)
    		- (CGSize) _optimizedSizeWithFont:(id)arg1; (0x4340e2)
    		- (id) _adjustedFontFromFont:(id)arg1 withinFrame:(CGRect)arg2 minimumSize:(float)arg3 textSize:(CGSize*)arg4; (0x4341cb)
    		- (id) stringByStandardizingWhitespace; (0x4071ce)
    .....
    

    _shortMethodDescription (если грубо, то вызывает [self __methodDescriptionForClass:[self class]])

    (lldb) po [UIApplication _shortMethodDescription]
    :
    in UIApplication:
    	Class Methods:
    		+ (BOOL) registerAsSystemApp; (0x2378c5)
    		+ (BOOL) rendersLocally; (0x2378d7)
    		+ (void) _startWindowServerIfNecessary; (0x230e26)
    		+ (void) _startStatusBarServerIfNecessary; (0x230f9a)
    		+ (int) statusBarStyleForString:(id)arg1; (0x23c19d)
    		+ (int) _backgroundStyleForString:(id)arg1; (0x23c39e)
    		+ (BOOL) _isBackgroundStyleTransparent:(int)arg1; (0x23c4e0)
    		+ (int) interfaceOrientationForString:(id)arg1; (0x23c4ef)
    		+ (BOOL) isRunningInStoreDemoMode; (0x22abcb)
    		+ (BOOL) shouldMakeUIForDefaultPNG; (0x22ac29)
    		+ (void) _noteInterfaceOrientationChangingTo:(int)arg1; (0x22be17)
    		+ (void) _installAfterCACommitHandler; (0x22d45f)
    		+ (BOOL) _isAfterCACommitHandlerInstalled; (0x22d512)
    		+ (BOOL) isRunningEventPump; (0x237848)
    		+ (id) stringForStatusBarStyle:(int)arg1; (0x23c169)
    		+ (id) stringForInterfaceOrientation:(int)arg1; (0x23c5d9)
    		+ (void) registerObjectForStateRestoration:(id)arg1 restorationIdentifier:(id)arg2; (0x8e6863)
    		+ (id) sharedApplication; (0x22a2b0)
    	Properties:
    		@property (nonatomic, getter=isProximitySensingEnabled) BOOL proximitySensingEnabled;
    		@property (nonatomic) * delegate;
    		@property (nonatomic, getter=isIdleTimerDisabled) BOOL idleTimerDisabled;
    		@property (readonly, nonatomic) UIWindow* keyWindow;
    		@property (readonly, nonatomic) NSArray* windows;
    		@property (nonatomic, getter=isNetworkActivityIndicatorVisible) BOOL networkActivityIndicatorVisible;
    		@property (nonatomic) int statusBarStyle;
    		@property (nonatomic, getter=isStatusBarHidden) BOOL statusBarHidden;
    		@property (nonatomic) int statusBarOrientation;
    		@property (readonly, nonatomic) double statusBarOrientationAnimationDuration;
    		@property (readonly, nonatomic) CGRect statusBarFrame;
    		@property (nonatomic) int applicationIconBadgeNumber;
    		@property (nonatomic) BOOL applicationSupportsShakeToEdit;
    		@property (readonly, nonatomic) int applicationState;
    		@property (readonly, nonatomic) double backgroundTimeRemaining;
    		@property (readonly, nonatomic) int backgroundRefreshStatus;
    		@property (readonly, nonatomic, getter=isProtectedDataAvailable) BOOL protectedDataAvailable;
    		@property (readonly, nonatomic) int userInterfaceLayoutDirection;
    		@property (readonly, nonatomic) NSString* preferredContentSizeCategory;
    		@property (copy, nonatomic, setter=_setPreferredContentSizeCategoryName:) NSString* preferredContentSizeCategoryName;  (@synthesize preferredContentSizeCategoryName = _preferredContentSizeCategoryName;)
    		@property (nonatomic, getter=_lastTimestampWhenFirstTouchCameDown, setter=_setLastTimestampWhenFirstTouchCameDown:) double lastTimestampWhenFirstTouchCameDown;  (@synthesize lastTimestampWhenFirstTouchCameDown = _lastTimestampWhenFirstTouchCameDown;)
    		@property (nonatomic, getter=_lastTimestampWhenAllTouchesLifted, setter=_setLastTimestampWhenAllTouchesLifted:) double lastTimestampWhenAllTouchesLifted;  (@synthesize lastTimestampWhenAllTouchesLifted = _lastTimestampWhenAllTouchesLifted;)
    		@property (nonatomic, getter=_lastLocationWhereFirstTouchCameDown, setter=_setLastLocationWhereFirstTouchCameDown:) CGPoint lastLocationWhereFirstTouchCameDown;  (@synthesize lastLocationWhereFirstTouchCameDown = _lastLocationWhereFirstTouchCameDown;)
    		@property (nonatomic, getter=_lastLocationWhereAllTouchesLifted, setter=_setLastLocationWhereAllTouchesLifted:) CGPoint lastLocationWhereAllTouchesLifted;  (@synthesize lastLocationWhereAllTouchesLifted = _lastLocationWhereAllTouchesLifted;)
    	Instance Methods:
    		- (int) statusBarOrientation; (0x236147)
    		- (int) alertInterfaceOrientation; (0x247f45)
    		- (void) startedTest:(id)arg1; (0x38e6ce)
    		- (void) finishedTest:(id)arg1; (0x390a59)
    		- (id) _touchesEvent; (0x23d94f)
    		- (void) setApplicationSupportsShakeToEdit:(BOOL)arg1; (0x23bf31)
    		- (void) _deactivateForReason:(int)arg1 notify:(BOOL)arg2; (0x22b8f8)
    		- (void) _fetchInfoPlistFlags; (0x23c7f0)
    		- (void) _setTextLegibilityEnabled:(BOOL)arg1; (0x249882)
    		- (id) _mainStoryboardName; (0x22bf4d)
    		- (BOOL) _doRestorationIfNecessary; (0x249d5d)
    ....
    (UIResponder ...)
    

    _ivarDescription — все айвары объекта, разбитые по классам от которых они унаследованы

    (lldb) po [[UIApplication sharedApplication] _ivarDescription]
    :
    in UIApplication:
    	_delegate (*): 
    	_exclusiveTouchWindows (NSMutableSet*): <__NSSetM: 0x8d838e0>
    	_event (UIEvent*): 
    	_touchesEvent (UIEvent*): 
    	_motionEvent (UIEvent*): 
    	_remoteControlEvent (UIEvent*): 
    	_remoteControlEventObservers (int): 0
    	_topLevelNibObjects (NSArray*): nil
    	_networkResourcesCurrentlyLoadingCount (int): 0
    	_hideNetworkActivityIndicatorTimer (NSTimer*): nil
    	_editAlertView (UIAlertView*): nil
    	_statusBar (UIStatusBar*): 
    	_statusBarRequestedStyle (int): 0
    	_statusBarWindow (UIStatusBarWindow*): 
    	_observerBlocks (NSMutableArray*): <__NSArrayM: 0x8d85060>
    	_postCommitActions (NSMutableArray*): <__NSArrayM: 0x8d85080>
    	_mainStoryboardName (NSString*): @"Main_iPhone"
    	_tintViewDurationStack (NSMutableArray*): nil
    	_statusBarTintColorLockingControllers (NSMutableArray*): nil
    	_statusBarTintColorLockingCount (int): 0
    	_preferredContentSizeCategory (NSString*): nil
    	_applicationFlags (unknown type)
    	_defaultTopNavBarTintColor (UIColor*): nil
    	_undoButtonIndex (int): 0
    	_redoButtonIndex (int): 0
    	_moveEvent (UIMoveEvent*): 
    	_physicalButtonsEvent (UIPhysicalButtonsEvent*): 
    	_wheelEvent (UIWheelEvent*): 
    	_physicalButtonMap (NSMutableDictionary*): <__NSDictionaryM: 0x8d832f0>
    	_physicalKeyboardEvent (UIPhysicalKeyboardEvent*): 
    	_backgroundHitTestWindow (UIWindow*): nil
    	_eventQueue (NSMutableArray*): <__NSArrayM: 0x8d850a0>
    	_childEventMap (__CFDictionary*): 
    	_disableTouchCoalescingCount (int): 0
    	_currentTimestampWhenFirstTouchCameDown (double): 127388.411122337
    	_currentLocationWhereFirstTouchCameDown (CGPoint): {274, 549.5}
    	_preferredContentSizeCategoryName (NSString*): nil
    	_lastTimestampWhenFirstTouchCameDown (double): 127386.946548556
    	_lastTimestampWhenAllTouchesLifted (double): 127388.416909239
    	_lastLocationWhereFirstTouchCameDown (CGPoint): {93.5, 116.5}
    	_lastLocationWhereAllTouchesLifted (CGPoint): {274, 549.5}
    in UIResponder:
    in NSObject:
    	isa (Class): UIApplication
    

    __ivarDescriptionForClass — список айваров в конкретном классе, без учета базовых классов

    (lldb) po [[UIApplication sharedApplication] __ivarDescriptionForClass:[NSObject class]]
    in NSObject:
    	isa (Class): UIApplication
    

    Jetzt auch beliebt: