{"id":15874827,"url":"https://github.com/rudifa/ios-testsegues","last_synced_at":"2025-04-01T23:22:19.495Z","repository":{"id":74524017,"uuid":"372068748","full_name":"rudifa/iOS-TestSegues","owner":"rudifa","description":"An UIKit demo project, investigates the forward- and unwind-segue behaviors.","archived":false,"fork":false,"pushed_at":"2023-01-08T10:27:20.000Z","size":27,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-07T15:14:27.678Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rudifa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2021-05-29T21:01:55.000Z","updated_at":"2024-01-19T10:33:18.000Z","dependencies_parsed_at":"2023-03-12T13:45:22.834Z","dependency_job_id":null,"html_url":"https://github.com/rudifa/iOS-TestSegues","commit_stats":null,"previous_names":["rudifa/ios-testsegues"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rudifa%2FiOS-TestSegues","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rudifa%2FiOS-TestSegues/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rudifa%2FiOS-TestSegues/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rudifa%2FiOS-TestSegues/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rudifa","download_url":"https://codeload.github.com/rudifa/iOS-TestSegues/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246725479,"owners_count":20823644,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-06T01:41:36.638Z","updated_at":"2025-04-01T23:22:19.473Z","avatar_url":"https://github.com/rudifa.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"#  TestSegues\n\nInvestigates forward and unwind segues.\n\n```  \nRedViewController --\u003e GreenViewController --\u003e BlueViewController |\n|\u003c---------------------------------------------------------------|\n``` \n\n\n``` \n---- 2021-05-29 22:19:46.225597 RedViewController.viewDidLoad() \n---- 2021-05-29 22:19:46.235687 RedViewController.viewWillAppear(_:) \n---- 2021-05-29 22:19:46.526425 RedViewController.viewDidAppear(_:) \n---- RedViewController.toGreenButton \n---- 2021-05-29 22:19:50.973494 GreenViewController.viewDidLoad() \n---- 2021-05-29 22:19:51.296498 GreenViewController.viewWillAppear(_:) \n---- 2021-05-29 22:19:52.418074 GreenViewController.viewDidAppear(_:) \n---- GreenViewController.toBlueButton \n---- 2021-05-29 22:19:54.849773 BlueViewController.viewDidLoad() \n---- 2021-05-29 22:19:54.854108 BlueViewController.viewWillAppear(_:) \n---- 2021-05-29 22:19:55.359907 BlueViewController.viewDidAppear(_:) \n---- BlueViewController.unwindToRedButton \n---- RedViewController.unwindToRedVC(_:) \n---- 2021-05-29 22:19:58.722712 BlueViewController.viewWillDisappear(_:) \n---- 2021-05-29 22:19:58.738120 BlueViewController.viewDidDisappear(_:) \n---- 2021-05-29 22:19:58.739315 BlueViewController.deinit \n---- 2021-05-29 22:19:58.743068 GreenViewController.viewWillDisappear(_:) \n---- 2021-05-29 22:19:59.263514 GreenViewController.viewDidDisappear(_:) \n---- 2021-05-29 22:19:59.264118 GreenViewController.deinit \n``` \n\n```\n---- 2022-12-11 00:28:35.306619 RedViewController.viewDidLoad() \n---- 2022-12-11 00:28:35.332430 RedViewController.viewWillAppear(_:) \n---- 2022-12-11 00:28:35.424737 RedViewController.viewDidAppear(_:) \n\n---- 2022-12-11 00:28:42.720062 RedViewController.toGreenButton \n---- 2022-12-11 00:28:42.726156 GreenViewController.viewDidLoad() \n---- 2022-12-11 00:28:42.744085 GreenViewController.viewWillAppear(_:) \n---- 2022-12-11 00:28:43.341599 GreenViewController.viewDidAppear(_:) \n\n---- 2022-12-11 00:28:49.908918 GreenViewController.toBlueButton \n---- 2022-12-11 00:28:49.912387 BlueViewController.viewDidLoad() \n---- 2022-12-11 00:28:49.918733 BlueViewController.viewWillAppear(_:) \n---- 2022-12-11 00:28:50.427153 BlueViewController.viewDidAppear(_:) \n\n---- 2022-12-11 00:28:56.135894 BlueViewController.unwindToRedButton \n---- 2022-12-11 00:28:56.136312 RedViewController.unwindToRedVC(_:) \n---- 2022-12-11 00:28:56.139281 BlueViewController.viewWillDisappear(_:) \n---- 2022-12-11 00:28:56.141373 GreenViewController.viewWillDisappear(_:) \n---- 2022-12-11 00:28:56.645622 GreenViewController.viewDidDisappear(_:) \n---- 2022-12-11 00:28:56.646899 BlueViewController.viewDidDisappear(_:) \n---- 2022-12-11 00:28:56.647223 BlueViewController.deinit \n---- 2022-12-11 00:28:56.648095 GreenViewController.deinit \n```\n\n\nAbove trace confirms that the unwind segue from Blue to Red does not cause the intermediate, Green, to execute a transient sequence\n\n``` \nGreenViewController.viewWillAppear(_:) \nGreenViewController.viewDidAppear(_:) \n```\nHowever, that behavoir was seen in at least one application.\n\nThis is not yet understood.\n\nPossible hypotheses:\n\nGreen (in the other app) has more resources to unload and that takes time to the Green to execute `viewWillAppear(_:)`.\n\nGreen (in the other app) has a transient reference retain (not a reference cycle).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frudifa%2Fios-testsegues","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frudifa%2Fios-testsegues","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frudifa%2Fios-testsegues/lists"}