Skip to content

Instantly share code, notes, and snippets.

View dmytro-anokhin's full-sized avatar
🔨

Dmytro Anokhin dmytro-anokhin

🔨
  • London
View GitHub Profile
(lldb) expr -l objc -O -- [[[UIWindow keyWindow] rootViewController] _printHierarchy]
<UINavigationController 0x7fa198044600>, state: disappeared, view: <UILayoutContainerView 0x7fa197c09860> not in the window
| <RootViewController 0x7fa197d17930>, state: disappeared, view: <RootView 0x7fa197d2b9f0> not in the window
| | <YellowViewController 0x7fa197d2c850>, state: disappeared, view: <YellowView 0x7fa197d2dda0> not in the window
+ <MagentaViewController 0x7fa197e04b50>, state: appeared, view: <MagentaView 0x7fa197f02c60>, presented with: <_UIFullscreenPresentationController 0x7fa197c09590>
(lldb) expr -l objc -O -- [[UIWindow keyWindow] recursiveDescription]
<UIWindow: 0x7fa197c07e30; frame = (0 0; 375 812); tintColor = UIExtendedGrayColorSpace 0 1; gestureRecognizers = <NSArray: 0x60000150f6f0>; layer = <UIWindowLayer: 0x600001b4b280>>
| <UITransitionView: 0x7fa197d30c40; frame = (0 0; 375 812); autoresize = W+H; layer = <CALayer: 0x600001b46700>>
| | <MagentaView: 0x7fa197f02c60; fram
(lldb) expr -l objc -O -- [[[UIWindow keyWindow] rootViewController] _printHierarchy]
<UINavigationController 0x7ffc9a05f800>, state: appeared, view: <UILayoutContainerView 0x7ffc99c1a2f0>
| <RootViewController 0x7ffc99c0c840>, state: appeared, view: <RootView 0x7ffc9cb04ad0>
| | <YellowViewController 0x7ffc9cb05e60>, state: appeared, view: <YellowView 0x7ffc99d053c0>
(lldb) expr -l objc -O -- [[UIWindow keyWindow] recursiveDescription]
<UIWindow: 0x7ffc99c181a0; frame = (0 0; 375 812); tintColor = UIExtendedGrayColorSpace 0 1; gestureRecognizers = <NSArray: 0x600001ce32a0>; layer = <UIWindowLayer: 0x6000012f6100>>
| <UILayoutContainerView: 0x7ffc99c1a2f0; frame = (0 0; 375 812); autoresize = W+H; gestureRecognizers = <NSArray: 0x600001cec4e0>; layer = <CALayer: 0x6000012f7600>>
| | <UINavigationTransitionView: 0x7ffc99c1acb0; frame = (0 0; 375 812); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x6000012f7e00>>
| | | <UIViewControllerWrapperView: 0x7ffc99d019c0; frame =
(lldb) expr -l objc -O -- [[[UIWindow keyWindow] rootViewController] _printHierarchy]
<UINavigationController 0x7ffc9a05f800>, state: appeared, view: <UILayoutContainerView 0x7ffc99c1a2f0>
| <RootViewController 0x7ffc99c0c840>, state: disappeared, view: <RootView 0x7ffc9cb04ad0> not in the window
| | <YellowViewController 0x7ffc9cb05e60>, state: disappeared, view: <YellowView 0x7ffc99d053c0> not in the window
| <CyanViewController 0x7ffc99c21180>, state: appeared, view: <CyanView 0x7ffc99c21830>
(lldb) expr -l objc -O -- [[UIWindow keyWindow] recursiveDescription]
<UIWindow: 0x7ffc99c181a0; frame = (0 0; 375 812); tintColor = UIExtendedGrayColorSpace 0 1; gestureRecognizers = <NSArray: 0x600001ce32a0>; layer = <UIWindowLayer: 0x6000012f6100>>
| <UILayoutContainerView: 0x7ffc99c1a2f0; frame = (0 0; 375 812); autoresize = W+H; gestureRecognizers = <NSArray: 0x600001cec4e0>; layer = <CALayer: 0x6000012f7600>>
| | <UINavigationTransitionView: 0x7ffc99c1acb0; frame = (0 0; 375 812); clipsToBo
(lldb) expr -l objc -O -- [[[UIWindow keyWindow] rootViewController] _printHierarchy]
<UINavigationController 0x7ffc9a05f800>, state: appeared, view: <UILayoutContainerView 0x7ffc99c1a2f0>
| <RootViewController 0x7ffc99c0c840>, state: disappeared, view: <RootView 0x7ffc9cb04ad0> not in the window
| | <YellowViewController 0x7ffc9cb05e60>, state: disappeared, view: <YellowView 0x7ffc99d053c0> not in the window
| <CyanViewController 0x7ffc99c21180>, state: appeared, view: <CyanView 0x7ffc99c21830>
(lldb) expr -l objc -O -- [[UIWindow keyWindow] recursiveDescription]
<UIWindow: 0x7ffc99c181a0; frame = (0 0; 375 812); tintColor = UIExtendedGrayColorSpace 0 1; gestureRecognizers = <NSArray: 0x600001ce32a0>; layer = <UIWindowLayer: 0x6000012f6100>>
| <UILayoutContainerView: 0x7ffc99c1a2f0; frame = (0 0; 375 812); autoresize = W+H; gestureRecognizers = <NSArray: 0x600001cec4e0>; layer = <CALayer: 0x6000012f7600>>
| | <UINavigationTransitionView: 0x7ffc99c1acb0; frame = (0 0; 375 812); clipsToBounds = YES; autoresize = W+H; layer = <CALayer: 0x6000012f7e00>>
| | | <UIViewControllerWrapperView: 0x7ffc99d019c0; frame = (0 0; 375 812); autoresize = W+H; layer = <CALayer: 0x6000012b78a0>>
| | | | <RootView: 0x7ffc9cb04ad0; frame = (0 0; 375 812); autoresize = W+H; layer = <CALayer: 0x6000012fbae0>>
| | | | | <CyanButton: 0x7ffc9cb036f0; baseClass = UIButton; frame = (80 217; 200 200); opaque = NO; autoresize = RM+BM; layer = <CALayer: 0x6000012fb8c0>>
| | |
(lldb) expr -l objc -O -- [[[UIWindow keyWindow] rootViewController] _printHierarchy]
<UINavigationController 0x7ffc9a05f800>, state: appeared, view: <UILayoutContainerView 0x7ffc99c1a2f0>
| <RootViewController 0x7ffc99c0c840>, state: appeared, view: <RootView 0x7ffc9cb04ad0>
| | <YellowViewController 0x7ffc9cb05e60>, state: appeared, view: <YellowView 0x7ffc99d053c0>
//
// Config.xcconfig
// commandlinetool
//
// Configuration settings file format documentation can be found at:
// https://help.apple.com/xcode/#/dev745c5c974
MACOSX_DEPLOYMENT_TARGET = 10.12
import Utility
let parser = ArgumentParser(usage: "<options> [string ...]",
overview: "This is an example of a command line tool using Swift Package Manager and Utility package")
// <options>
let uppercase = parser.add(option: "--uppercase", shortName: "-u", kind: Bool.self, usage: nil, completion: nil)
let lowercase = parser.add(option: "--lowercase", shortName: "-l", kind: Bool.self, usage: nil, completion: nil)
let capitalize = parser.add(option: "--capitalize", shortName: "-c", kind: Bool.self, usage: nil, completion: nil)
// swift-tools-version:4.2
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
name: "commandlinetool",
dependencies: [
// Dependencies declare other packages that this package depends on.
// .package(url: /* package url */, from: "1.0.0"),
extension RecursiveFlattenSequence : Sequence {
public struct Iterator {
/// `Node` stores the traversal state for a collection
internal struct Node {
internal let _base: Base
internal var _position: Base.Index
internal init(_base: Base) {
self._base = _base