41554 blogs · [ { "id": "01a08720-fac9-7136-9e77-1d62f78612bb", "title": "Some nice truths", "url": "https://agilewarrior.wordpress.com/2024/08/28/some-nice-truths/", "published_at": "2024-08-28T03:39:18+00:00" }, { "id": "01a08720-fac9-7136-9e77-1d62f7c2e771", "title": "Good Charlie Munger Video", "url": "https://agilewarrior.wordpress.com/2023/01/13/good-charlie-munger-video/", "published_at": "2023-01-13T15:56:27+00:00" }, { "id": "01a08720-fac9-7136-9e77-1d62f84453e2", "title": "Japanese concepts to live by", "url": "https://agilewarrior.wordpress.com/2023/01/03/japanese-concepts-to-live-by/", "published_at": "2023-01-03T14:40:46+00:00" }, { "id": "01a08720-fac9-7136-9e77-1d62f9045f21", "title": "Nice quotes from Charlie Chaplin", "url": "https://agilewarrior.wordpress.com/2022/10/04/nice-quotes-from-charlie-chaplin/", "published_at": "2022-10-04T15:29:57+00:00" }, { "id": "01a08720-fac9-7136-9e77-1d62f9f3885a", "title": "Nice quotes on programming from Code Complete", "url": "https://agilewarrior.wordpress.com/2022/08/01/nice-quotes-on-programming-from-code-complete/", "published_at": "2022-08-01T15:35:28+00:00" }, { "id": "01a08720-fac9-7136-9e77-1d62fa32ba8f", "title": "Card Flip Animation SwiftUI", "url": "https://agilewarrior.wordpress.com/2022/05/13/card-flip-animation-swiftui/", "published_at": "2022-05-13T15:34:52+00:00" }, { "id": "01a08720-fac9-7136-9e77-1d62fa4d2ad6", "title": "Getting started with the Spotify iOS SDK", "url": "https://agilewarrior.wordpress.com/2022/03/26/getting-started-with-the-spotify-ios-sdk/", "published_at": "2022-03-26T12:33:08+00:00" }, { "id": "01a08720-fac9-7136-9e77-1d62fa5056a8", "title": "Swift iOS Half sheet view controller – UISheetPresentationController", "url": "https://agilewarrior.wordpress.com/2022/03/19/swift-ios-half-sheet-view-controller-uisheetpresentationcontroller/", "published_at": "2022-03-19T11:39:08+00:00" }, { "id": "01a08720-fac9-7136-9e77-1d62fb4d6295", "title": "The one commercial iOS tool I can’t live without", "url": "https://agilewarrior.wordpress.com/2022/03/06/the-one-commercial-ios-tool-i-cant-live-without/", "published_at": "2022-03-06T15:48:11+00:00" }, { "id": "01a08720-fac9-7136-9e77-1d62fbc0f912", "title": "Animations in UIStackView", "url": "https://agilewarrior.wordpress.com/2022/03/06/animations-in-uistackview/", "published_at": "2022-03-06T13:19:06+00:00" }, { "id": "01a0d50d-cfb8-738f-b972-7776d5e57c24", "title": "iOS Professional Development Course Update – New Material!", "url": "https://agilewarrior.wordpress.com/2022/02/27/ios-professional-development-course-update-new-material/", "published_at": "2022-02-27T21:24:15+00:00" }, { "id": "01a0d50d-cfb8-738f-b972-7776d6cc2c65", "title": "How to fix UIStackView ambiguity", "url": "https://agilewarrior.wordpress.com/2022/02/04/how-to-fix-uistackview-ambiguity/", "published_at": "2022-02-04T18:02:15+00:00" }, { "id": "01a0d50d-cfb8-738f-b972-7776d75d20a6", "title": "What is the difference between a Stack and a Heap?", "url": "https://agilewarrior.wordpress.com/2022/01/08/what-is-the-difference-between-a-stack-and-a-heap/", "published_at": "2022-01-08T13:27:59+00:00" }, { "id": "01a0d50d-cfb8-738f-b972-7776d806f725", "title": "New Course – The Swift Arcade Professional iOS Development Course – UIKit", "url": "https://agilewarrior.wordpress.com/2021/12/22/new-course-the-swift-arcade-professional-ios-development-course-uikit/", "published_at": "2021-12-22T23:12:35+00:00" }, { "id": "01a0d50d-cfb8-738f-b972-7776d89ca7b8", "title": "How to block emojis from entering UITextView", "url": "https://agilewarrior.wordpress.com/2021/12/04/how-to-block-emojis-from-entering-uitextview/", "published_at": "2021-12-04T14:07:11+00:00" }, { "id": "01a0d50d-cfb8-738f-b972-7776d9948fde", "title": "UIKit Constraint based Animations", "url": "https://agilewarrior.wordpress.com/2021/11/20/uikit-constraint-based-animations/", "published_at": "2021-11-20T13:12:38+00:00" }, { "id": "01a0d50d-cfb8-738f-b972-7776d9df6fb4", "title": "The one trick every iOS developer should know for working with Stack Views", "url": "https://agilewarrior.wordpress.com/2021/11/06/the-one-trick-every-ios-developer-should-know-for-working-with-stack-views/", "published_at": "2021-11-06T12:30:48+00:00" }, { "id": "01a0d50d-cfb8-738f-b972-7776d9e84034", "title": "What are Container View Controllers?", "url": "https://agilewarrior.wordpress.com/2021/10/30/what-are-container-view-controllers/", "published_at": "2021-10-30T10:44:38+00:00" }, { "id": "01a0d50d-cfb8-738f-b972-7776daa57131", "title": "Currency Formatting in Swift with NumberFormatter and NSAttributedString", "url": "https://agilewarrior.wordpress.com/2021/10/23/currency-formatting-in-swift-with-numberformatter-and-nsattributedstring/", "published_at": "2021-10-23T14:28:36+00:00" }, { "id": "01a0d50d-cfb8-738f-b972-7776db536b65", "title": "How to squash and rebase in git", "url": "https://agilewarrior.wordpress.com/2021/09/11/how-to-squash-and-rebase-in-git/", "published_at": "2021-09-11T12:30:26+00:00" }, { "id": "01a0d50f-dc45-7047-aec7-acfa9e30b7cd", "title": "Xcode 13 No storyboards", "url": "https://agilewarrior.wordpress.com/2021/09/11/xcode-13-no-storyboards/", "published_at": "2021-09-11T11:43:40+00:00" }, { "id": "01a0d50f-dc45-7047-aec7-acfa9f1c648a", "title": "UITableView – Headers, Footers, Sections and Cells", "url": "https://agilewarrior.wordpress.com/2021/09/04/uitableview-headers-footers-sections-and-cells/", "published_at": "2021-09-04T12:16:03+00:00" }, { "id": "01a0d50f-dc45-7047-aec7-acfa9f596536", "title": "Grouping network calls like a boss – DispatchGroup", "url": "https://agilewarrior.wordpress.com/2021/08/22/grouping-network-calls-like-a-boss-dispatchgroup/", "published_at": "2021-08-22T12:35:28+00:00" }, { "id": "01a0d50f-dc45-7047-aec7-acfaa00bee11", "title": "The secret to the UIScrollView", "url": "https://agilewarrior.wordpress.com/2021/07/31/the-secret-to-the-uiscrollview/", "published_at": "2021-07-31T13:13:23+00:00" }, { "id": "01a0d50f-dc45-7047-aec7-acfaa093382a", "title": "Core Data One-To-Many SwiftUI", "url": "https://agilewarrior.wordpress.com/2021/07/31/core-data-one-to-many-swiftui/", "published_at": "2021-07-31T12:27:52+00:00" }, { "id": "01a0d50f-dc45-7047-aec7-acfaa10360cf", "title": "SwiftUI Core Data Intro", "url": "https://agilewarrior.wordpress.com/2021/07/24/swiftui-core-data-intro/", "published_at": "2021-07-24T12:34:55+00:00" }, { "id": "01a0d50f-dc45-7047-aec7-acfaa1463f0c", "title": "How to switch view flows SwiftUI", "url": "https://agilewarrior.wordpress.com/2021/07/17/how-to-switch-view-flows-swiftui/", "published_at": "2021-07-17T12:04:29+00:00" }, { "id": "01a0d50f-dc45-7047-aec7-acfaa1bcfad6", "title": "Intro to SwiftUI Data Flow", "url": "https://agilewarrior.wordpress.com/2021/06/26/intro-to-swiftui-data-flow/", "published_at": "2021-06-26T16:40:31+00:00" }, { "id": "01a0d50f-dc45-7047-aec7-acfaa2837ff2", "title": "Lessons Learned Converting UIKit App to SwiftUI", "url": "https://agilewarrior.wordpress.com/2021/06/16/lessons-learned-converting-uikit-app-to-swiftui/", "published_at": "2021-06-16T11:38:34+00:00" }, { "id": "01a0d50f-dc45-7047-aec7-acfaa2fe6a24", "title": "How to animate shaking bell iOS / Swift / UIKit", "url": "https://agilewarrior.wordpress.com/2021/06/05/how-to-animate-shaking-bell-ios-swift-uikit/", "published_at": "2021-06-05T11:59:02+00:00" }, { "id": "01a0d510-72f6-7117-9df8-31f21ff4e1e9", "title": "Getting started with Combine + UIKit in Swift", "url": "https://agilewarrior.wordpress.com/2021/05/24/getting-started-with-combine-uikit-in-swift/", "published_at": "2021-05-24T19:16:40+00:00" }, { "id": "01a0d510-72f6-7117-9df8-31f2207bebe8", "title": "Swift Previews in UIKit", "url": "https://agilewarrior.wordpress.com/2021/05/15/swift-previews-in-uikit/", "published_at": "2021-05-15T15:13:25+00:00" }, { "id": "01a0d510-72f6-7117-9df8-31f22096cdbe", "title": "My number one tip for becoming a better iOS developer", "url": "https://agilewarrior.wordpress.com/2021/04/17/my-number-one-tip-for-becoming-a-better-ios-developer/", "published_at": "2021-04-17T15:33:18+00:00" }, { "id": "01a0d510-72f6-7117-9df8-31f2214eb5bd", "title": "Data Structures & Algorithms – Big O Notation in Swift explained", "url": "https://agilewarrior.wordpress.com/2021/04/11/data-structures-algorithms-big-o-notation-in-swift-explained/", "published_at": "2021-04-11T17:41:33+00:00" }, { "id": "01a0d510-72f6-7117-9df8-31f221dc74cb", "title": "Git commit messages – how to write them", "url": "https://agilewarrior.wordpress.com/2021/04/01/git-commit-messages-how-to-write-them/", "published_at": "2021-04-01T20:18:06+00:00" }, { "id": "01a0d510-72f6-7117-9df8-31f2220c2aa9", "title": "How to create your own custom badge (Swift/iOS)", "url": "https://agilewarrior.wordpress.com/2021/03/27/how-to-create-your-own-custom-badge-swift-ios/", "published_at": "2021-03-27T11:41:18+00:00" }, { "id": "01a0d510-72f6-7117-9df8-31f222503622", "title": "Swift Popup Drawer", "url": "https://agilewarrior.wordpress.com/2021/03/13/swift-popup-drawer/", "published_at": "2021-03-13T17:15:03+00:00" }, { "id": "01a0d510-72f6-7117-9df8-31f222cc69cf", "title": "Loading Shimmer Effect (Swift/iOS)", "url": "https://agilewarrior.wordpress.com/2021/02/27/loading-shimmer-effect-swift-ios/", "published_at": "2021-02-27T13:55:41+00:00" }, { "id": "01a0d510-72f6-7117-9df8-31f22316718a", "title": "Gradients UIKit", "url": "https://agilewarrior.wordpress.com/2021/02/06/gradients-uikit/", "published_at": "2021-02-06T13:48:13+00:00" }, { "id": "01a0d510-72f6-7117-9df8-31f223e9a097", "title": "Introduction to Core Animation (iOS/Swift)", "url": "https://agilewarrior.wordpress.com/2021/01/30/introduction-to-core-animation-ios-swift/", "published_at": "2021-01-30T13:40:49+00:00" }, { "id": "01a0d510-ef9f-718d-904c-93a82e28ff4b", "title": "Shadows in iOS/Swift", "url": "https://agilewarrior.wordpress.com/2021/01/27/shadows-in-ios-swift/", "published_at": "2021-01-27T12:59:15+00:00" }, { "id": "01a0d510-ef9f-718d-904c-93a82ed0852e", "title": "Introduction to Core Graphics (iOS/Swift)", "url": "https://agilewarrior.wordpress.com/2021/01/22/introduction-to-core-graphics-ios-swift/", "published_at": "2021-01-22T16:00:47+00:00" }, { "id": "01a0d510-ef9f-718d-904c-93a82f7897ed", "title": "What are Nibs?", "url": "https://agilewarrior.wordpress.com/2021/01/16/what-are-nibs/", "published_at": "2021-01-16T15:56:44+00:00" }, { "id": "01a0d510-ef9f-718d-904c-93a82f90f210", "title": "Onboarding with the UIPageViewController", "url": "https://agilewarrior.wordpress.com/2021/01/10/onboarding-with-the-uipageviewcontroller/", "published_at": "2021-01-10T20:44:18+00:00" }, { "id": "01a0d510-ef9f-718d-904c-93a830383e04", "title": "Google Code Jam – Swift reading input", "url": "https://agilewarrior.wordpress.com/2020/12/31/google-code-jam-swift-reading-input/", "published_at": "2020-12-31T12:23:34+00:00" }, { "id": "01a0d510-ef9f-718d-904c-93a8306109db", "title": "Swift Deep Linking in iOS", "url": "https://agilewarrior.wordpress.com/2020/12/21/swift-deep-linking-in-ios/", "published_at": "2020-12-21T12:39:59+00:00" }, { "id": "01a0d510-ef9f-718d-904c-93a8307d1922", "title": "How to handle pluralization in iOS", "url": "https://agilewarrior.wordpress.com/2020/12/17/how-to-handle-pluralization-in-ios/", "published_at": "2020-12-17T11:54:50+00:00" }, { "id": "01a0d510-ef9f-718d-904c-93a830e739a4", "title": "Navigation Patterns: How to setup your iOS architecture using a MainViewController", "url": "https://agilewarrior.wordpress.com/2020/12/14/navigation-patterns-how-to-setup-your-ios-architecture-using-a-mainviewcontroller/", "published_at": "2020-12-14T13:05:58+00:00" }, { "id": "01a0d510-ef9f-718d-904c-93a831bf30e3", "title": "How to write Unit Tests with Core Data in Swift", "url": "https://agilewarrior.wordpress.com/2020/12/07/how-to-write-unit-tests-with-core-data-in-swift/", "published_at": "2020-12-07T12:23:07+00:00" }, { "id": "01a0d510-ef9f-718d-904c-93a832910822", "title": "How to safely work with Core Data on a background thread", "url": "https://agilewarrior.wordpress.com/2020/11/16/how-to-safely-work-with-core-data-on-a-background-thread/", "published_at": "2020-11-16T12:54:42+00:00" }, { "id": "01a0d511-720b-73bc-a08d-c0b869d9a31d", "title": "Core Data Codegen Explained", "url": "https://agilewarrior.wordpress.com/2020/11/12/core-data-codegen-explained/", "published_at": "2020-11-12T15:29:09+00:00" }, { "id": "01a0d511-720b-73bc-a08d-c0b869db2c37", "title": "Q&A on the Book Competing with Unicorns", "url": "https://agilewarrior.wordpress.com/2020/11/09/qa-on-the-book-competing-with-unicorns/", "published_at": "2020-11-09T21:52:19+00:00" }, { "id": "01a0d511-720b-73bc-a08d-c0b86a44975f", "title": "#8 Intro to Swift Unit Testing", "url": "https://agilewarrior.wordpress.com/2020/11/09/8-intro-to-swift-unit-testing/", "published_at": "2020-11-09T15:52:47+00:00" }, { "id": "01a0d511-720b-73bc-a08d-c0b86a7831df", "title": "New iOS Book in the works", "url": "https://agilewarrior.wordpress.com/2020/11/05/new-ios-book-in-the-works/", "published_at": "2020-11-05T15:15:55+00:00" }, { "id": "01a0d511-720b-73bc-a08d-c0b86b258b19", "title": "#7 – Weathery JSON Parsing in Swift", "url": "https://agilewarrior.wordpress.com/2020/11/04/7-weathery-json-parsing-in-swift/", "published_at": "2020-11-04T11:38:01+00:00" }, { "id": "01a0d511-720b-73bc-a08d-c0b86b9df031", "title": "#6 – Weathery Swift Protocol-Delegate Pattern", "url": "https://agilewarrior.wordpress.com/2020/10/29/6-weathery-swift-protocol-delegate-pattern/", "published_at": "2020-10-29T12:33:30+00:00" }, { "id": "01a0d511-720b-73bc-a08d-c0b86c90dfee", "title": "#5 – Weathery Swift NSAttributedString", "url": "https://agilewarrior.wordpress.com/2020/10/28/5-weathery-swift-nsattributedstring/", "published_at": "2020-10-28T11:25:30+00:00" }, { "id": "01a0d511-720b-73bc-a08d-c0b86c9fe9fd", "title": "How to make the Spotify Model Work for you", "url": "https://agilewarrior.wordpress.com/2020/10/28/how-to-make-the-spotify-model-work-for-you/", "published_at": "2020-10-28T10:48:13+00:00" }, { "id": "01a0d511-720b-73bc-a08d-c0b86cb73eb3", "title": "#4 – Weathery Swift Stack Views", "url": "https://agilewarrior.wordpress.com/2020/10/27/4-weathery-swift-stack-views/", "published_at": "2020-10-27T12:27:11+00:00" }, { "id": "01a0d511-720b-73bc-a08d-c0b86d81f88d", "title": "Xcode shortcut keys", "url": "https://agilewarrior.wordpress.com/2020/10/20/xcode-shortcut-keys/", "published_at": "2020-10-20T10:31:58+00:00" }, { "id": "01a0d511-ee20-71bf-89e6-27707d6faa5c", "title": "Intro to programmatic Auto Layout", "url": "https://agilewarrior.wordpress.com/2020/10/14/intro-to-programmatic-auto-layout/", "published_at": "2020-10-14T13:27:46+00:00" }, { "id": "01a0d511-ee20-71bf-89e6-27707dcadd28", "title": "How to Vector Assets iOS Swift", "url": "https://agilewarrior.wordpress.com/2020/10/06/how-to-vector-assets-ios-swift/", "published_at": "2020-10-06T20:38:57+00:00" }, { "id": "01a0d511-ee20-71bf-89e6-27707e1838cd", "title": "How to create a new Xcode project without Storyboards", "url": "https://agilewarrior.wordpress.com/2020/09/18/how-to-create-a-new-xcode-project-without-storyboards/", "published_at": "2020-09-18T12:08:07+00:00" }, { "id": "01a0d511-ee20-71bf-89e6-27707ed408fc", "title": "How to remove background highlighted color from copied code Keynote", "url": "https://agilewarrior.wordpress.com/2020/09/17/how-to-remove-background-highlighted-color-from-copied-code-keynote/", "published_at": "2020-09-17T12:41:36+00:00" }, { "id": "01a0d511-ee20-71bf-89e6-27707ee7c282", "title": "Starbucks in Swift: History View: Protocol Delegate Pattern (Ep.11)", "url": "https://agilewarrior.wordpress.com/2020/07/25/starbucks-in-swift-history-view-protocol-delegate-pattern-ep-11/", "published_at": "2020-07-25T12:24:12+00:00" }, { "id": "01a0d511-ee20-71bf-89e6-27707fd7f72d", "title": "Starbucks in Swift: History View: View Models with UITableViewController (Ep.10)", "url": "https://agilewarrior.wordpress.com/2020/07/25/starbucks-in-swift-history-view-view-models-with-uitableviewcontroller-ep-10/", "published_at": "2020-07-25T12:18:48+00:00" }, { "id": "01a0d511-ee20-71bf-89e6-2770809ea8fa", "title": "Starbucks in Swift: History View: HTTP Request with JSON (Ep.9)", "url": "https://agilewarrior.wordpress.com/2020/07/24/starbucks-in-swift-history-view-http-request-with-json-ep-9/", "published_at": "2020-07-24T11:38:29+00:00" }, { "id": "01a0d511-ee20-71bf-89e6-27708144deed", "title": "Starbucks in Swift: History View: Parsing JSON (Ep.8)", "url": "https://agilewarrior.wordpress.com/2020/07/23/starbucks-in-swift-history-view-parsing-json-ep-8/", "published_at": "2020-07-23T12:48:03+00:00" }, { "id": "01a0d511-ee20-71bf-89e6-277081bd0e80", "title": "Starbucks in Swift: Animating content within a Scroll View (Ep.7)", "url": "https://agilewarrior.wordpress.com/2020/07/17/starbucks-in-swift-animating-content-within-a-scroll-view-ep-7/", "published_at": "2020-07-17T12:32:11+00:00" }, { "id": "01a0d511-ee20-71bf-89e6-277082491c4a", "title": "Starbucks in Swift: Getting started with Core Graphics (Ep.6)", "url": "https://agilewarrior.wordpress.com/2020/07/16/starbucks-in-swift-getting-started-with-core-graphics-ep-6/", "published_at": "2020-07-16T12:05:56+00:00" }, { "id": "01a0d512-4d7c-7317-b45b-610539a6c772", "title": "Starbucks in Swift: How to break down large UIViews (Ep.5)", "url": "https://agilewarrior.wordpress.com/2020/07/15/starbucks-in-swift-how-to-break-down-large-uiviews-ep-5/", "published_at": "2020-07-15T12:00:57+00:00" }, { "id": "01a0d512-4d7c-7317-b45b-610539e28a18", "title": "Starbucks in Swift: Tiles and Child View Controllers (Ep.4)", "url": "https://agilewarrior.wordpress.com/2020/07/14/starbucks-in-swift-tiles-and-child-view-controllers-ep-4/", "published_at": "2020-07-14T12:22:14+00:00" }, { "id": "01a0d512-4d7c-7317-b45b-61053ab25844", "title": "Starbucks in Swift: Scroll Views, Stack Views, and Tiles (Ep.3)", "url": "https://agilewarrior.wordpress.com/2020/07/13/starbucks-in-swift-scroll-views-stack-views-and-tiles-ep-3/", "published_at": "2020-07-13T12:14:59+00:00" }, { "id": "01a0d512-4d7c-7317-b45b-61053ad81ecf", "title": "Starbucks in Swift: Collapsible Header (Ep.2)", "url": "https://agilewarrior.wordpress.com/2020/07/10/starbucks-in-swift-collapsible-header-ep-2/", "published_at": "2020-07-10T11:55:21+00:00" }, { "id": "01a0d512-4d7c-7317-b45b-61053b0b4685", "title": "Starbucks App: Tab Bar & Nav Bar (Ep.1)", "url": "https://agilewarrior.wordpress.com/2020/07/09/starbucks-app-tab-bar-nav-bar-ep-1/", "published_at": "2020-07-09T12:13:39+00:00" }, { "id": "01a0d512-4d7c-7317-b45b-61053b484e8d", "title": "How to enable and style large titles in your navigation bar", "url": "https://agilewarrior.wordpress.com/2020/06/24/how-to-enable-and-style-large-titles-in-your-navigation-bar/", "published_at": "2020-06-24T18:49:29+00:00" }, { "id": "01a0d512-4d7c-7317-b45b-61053b7ed6fb", "title": "2 – Spotify Album Design In Swift (image resizing and fade)", "url": "https://agilewarrior.wordpress.com/2020/06/20/2-spotify-album-design-in-swift-image-resizing-and-fade/", "published_at": "2020-06-20T14:53:19+00:00" }, { "id": "01a0d512-4d7c-7317-b45b-61053c02ced7", "title": "1 – Spotify Album Design In Swift (UICollectionView, ListCell, HeaderView)", "url": "https://agilewarrior.wordpress.com/2020/06/20/1-spotify-album-design-in-swift-uicollectionview-listcell-headerview/", "published_at": "2020-06-20T11:53:37+00:00" }, { "id": "01a0d512-4d7c-7317-b45b-61053c921f71", "title": "4 – Spotify Playlist and Tracks in Swift", "url": "https://agilewarrior.wordpress.com/2020/06/19/4-spotify-playlist-and-tracks-in-swift/", "published_at": "2020-06-19T12:29:07+00:00" }, { "id": "01a0d512-4d7c-7317-b45b-61053ca682ac", "title": "3 – Spotify Menubar Interactions in Swift", "url": "https://agilewarrior.wordpress.com/2020/06/18/3-spotify-menubar-interactions-in-swift/", "published_at": "2020-06-18T12:00:40+00:00" }, { "id": "01a0d512-9d68-72a5-9040-7c6d7f9140b2", "title": "2 – Spotify Menubar Navigation in Swift", "url": "https://agilewarrior.wordpress.com/2020/06/17/2-spotify-menubar-navigation-in-swift/", "published_at": "2020-06-17T11:50:32+00:00" }, { "id": "01a0d512-9d68-72a5-9040-7c6d8002d52c", "title": "1 – Spotify Title Menu Bar in Swift", "url": "https://agilewarrior.wordpress.com/2020/06/16/1-spotify-title-menu-bar-in-swift/", "published_at": "2020-06-16T11:59:17+00:00" }, { "id": "01a0d512-9d68-72a5-9040-7c6d8075bd9f", "title": "Swift: How to Add Badges to UICollectionViews", "url": "https://agilewarrior.wordpress.com/2020/05/26/swift-how-to-add-badges-to-uicollectionviews/", "published_at": "2020-05-26T18:55:48+00:00" }, { "id": "01a0d512-9d68-72a5-9040-7c6d80f7ca9d", "title": "Swift: How to UICollectionView Compositional Layout (List, Grid, Two Column Examples)", "url": "https://agilewarrior.wordpress.com/2020/05/25/swift-how-to-uicollectionview-compositional-layout-list-grid-two-column-examples/", "published_at": "2020-05-25T18:45:28+00:00" }, { "id": "01a0d512-9d68-72a5-9040-7c6d819f1b29", "title": "Swift: How to UICollectionView Flow Layout", "url": "https://agilewarrior.wordpress.com/2020/05/22/swift-how-to-uicollectionview-flow-layout/", "published_at": "2020-05-22T14:22:23+00:00" }, { "id": "01a0d512-9d68-72a5-9040-7c6d82085452", "title": "Extract Views", "url": "https://agilewarrior.wordpress.com/2020/05/14/extract-views/", "published_at": "2020-05-14T12:44:52+00:00" }, { "id": "01a0d512-9d68-72a5-9040-7c6d82952bc5", "title": "Model View Presenter Swift", "url": "https://agilewarrior.wordpress.com/2020/05/10/model-view-presenter-swift/", "published_at": "2020-05-10T16:23:38+00:00" }, { "id": "01a0d512-9d68-72a5-9040-7c6d82d09edd", "title": "How to build a custom Scroll View Tab Control", "url": "https://agilewarrior.wordpress.com/2020/05/04/how-to-build-a-custom-scroll-view-tab-control/", "published_at": "2020-05-04T15:24:45+00:00" }, { "id": "01a0d512-9d68-72a5-9040-7c6d83ae8a95", "title": "Understanding UIScrollViews", "url": "https://agilewarrior.wordpress.com/2020/05/01/understanding-uiscrollviews/", "published_at": "2020-05-01T12:23:00+00:00" }, { "id": "01a0d512-9d68-72a5-9040-7c6d8458608c", "title": "Functions as Variables in Swift", "url": "https://agilewarrior.wordpress.com/2020/04/26/functions-as-variables-in-swift/", "published_at": "2020-04-26T13:54:58+00:00" }, { "id": "01a0d512-f0e7-73ee-bfbf-f4383a80c568", "title": "Popup Menu with UIPanGestureRecognizer and UIViewPropertyAnimator", "url": "https://agilewarrior.wordpress.com/2020/04/15/popup-menu-with-uipangesturerecognizer-and-uiviewpropertyanimator/", "published_at": "2020-04-15T13:54:30+00:00" }, { "id": "01a0d512-f0e7-73ee-bfbf-f4383b3a558e", "title": "UITableView Moveable Cells", "url": "https://agilewarrior.wordpress.com/2020/04/10/uitableview-moveable-cells/", "published_at": "2020-04-10T20:01:41+00:00" }, { "id": "01a0d512-f0e7-73ee-bfbf-f4383bf819c5", "title": "Getting Started with Diffable Data Source", "url": "https://agilewarrior.wordpress.com/2020/04/07/getting-started-with-diffable-data-source/", "published_at": "2020-04-07T13:31:32+00:00" }, { "id": "01a0d512-f0e7-73ee-bfbf-f4383cb09f15", "title": "How to add load and retry screens to your iOS application", "url": "https://agilewarrior.wordpress.com/2020/04/03/how-to-add-load-and-retry-screens-to-your-ios-application/", "published_at": "2020-04-03T20:04:40+00:00" }, { "id": "01a0d512-f0e7-73ee-bfbf-f4383d045c36", "title": "Agile Nutshell Newsletter #13", "url": "https://agilewarrior.wordpress.com/2020/04/01/agile-nutshell-newsletter-13/", "published_at": "2020-04-01T19:49:11+00:00" }, { "id": "01a0d512-f0e7-73ee-bfbf-f4383d7d98f5", "title": "Getting Started With NSAttributedString", "url": "https://agilewarrior.wordpress.com/2020/03/27/getting-started-with-nsattributedstring/", "published_at": "2020-03-27T12:42:58+00:00" }, { "id": "01a0d512-f0e7-73ee-bfbf-f4383d8026a4", "title": "How to create your own custom UITableViewCell", "url": "https://agilewarrior.wordpress.com/2020/03/25/how-to-create-your-own-custom-uitableviewcell/", "published_at": "2020-03-25T12:47:59+00:00" }, { "id": "01a0d512-f0e7-73ee-bfbf-f4383e761120", "title": "Promo Video for Competing With Unicorns", "url": "https://agilewarrior.wordpress.com/2020/03/22/promo-video-for-competing-with-unicorns/", "published_at": "2020-03-22T13:10:37+00:00" }, { "id": "01a0d512-f0e7-73ee-bfbf-f4383e8fcff6", "title": "Getting Started With NSFetchedResultsController", "url": "https://agilewarrior.wordpress.com/2020/03/17/getting-started-with-nsfetchedresultscontroller/", "published_at": "2020-03-17T15:03:18+00:00" }, { "id": "01a0d512-f0e7-73ee-bfbf-f4383e96164e", "title": "Swipeable UITableViewCells", "url": "https://agilewarrior.wordpress.com/2020/03/13/swipeable-uitableviewcells/", "published_at": "2020-03-13T16:19:06+00:00" } ] posts Claim your blog
Back to agilewarrior.wordpress.com
Blog · corpus.blog/blogs/agilewarrior.wordpress.com/posts

agilewarrior.wordpress.com

agilewarrior.wordpress.com

2024

2023

2022

2021

2020