Robert
@Developer__Rob
iOS indie dev 🚀 Building ComingUp in public | Sharing every win, mistake, and lesson along the way.
The latest version of ComingUp just hit the App Store! New features: •Add attachments to events (tickets, photos, notes) •Share events privately via iCloud (CloudKit sharing) •Improved design + performance throughout #indiedev #buildinpublic apps.apple.com/gb/app/comingu…
Always feel like I wish away the week to get back to my side projects..
Swift Interview Tip💡 .task {} vs .onAppear {} .task: async-safe, cancels automatically .onAppear: sync only, runs once Prefer .task for async work in SwiftUI.
Swift Interview Tip l💡 @ EnvironmentObject: Inject shared data through your SwiftUI hierarchy. Perfect for app-wide settings, sessions, or themes. Set once, access anywhere.
Was going to try and use TikTok for marketing my app. Truthfully not even sure where to start / if it's worth it. Anyone had success with it?
Swift Interview Tip 💡 State vs Binding in SwiftUI 🧩 State owns the data. Binding references someone else’s state. Ownership is everything in SwiftUI.
Swift Interview Tip💡 Codable in one line: “Easiest way to turn JSON into Swift types (and back).” Codable = Encodable + Decodable.
New version of ComingUp released this morning, just some bugs fixes and an app icon change. feel free to check it out: apps.apple.com/gb/app/comingu…
Swift Interview Tip 💡 #8 map, compactMap, flatMap — the trio map: transform each element compactMap: transform + remove nil flatMap: flatten nested arrays Same concept, different depth. #swift #swifttips #swiftdevelopers
Time for the weekend. Continuing to build the initial UI for my new app Rehearse. Hoping to share some images of it soon.
Swift Interview Tip 💡 #7 @ MainActor — the concurrency safety net 🧠 Guarantees code runs on the main thread. Use it anywhere you touch UI in SwiftUI. Cleaner than DispatchQueue.main.async.
Swift Interview Tip💡#6 `@ escaping` closures — simplified 👇 Non-escaping = runs before the function ends Escaping = runs after (e.g. async callbacks) If it’s stored or called later → mark it @ escaping. #Swift #swiftdevelopers
Swift Interview Tip💡#5 lazy properties explained 💤 They’re initialized only when first used. Perfect for heavy setup like images or network managers. Swift only does the work when you actually need it. #Swift #swiftdevelopers
Swift Interview Tip💡#4 Weak vs Strong vs Unowned strong = keeps it alive weak = breaks retain cycles, become nil unowned = no retain, assumes alive Use weak for delegates. Always.
Swift Interview Tip💡#3 let vs var inside structs. If your struct is declared with let, all properties become immutable — even if they’re var. let locks the whole struct.
Starting my second indie app: Rehearse — built in SwiftUI. This time, I'm going to try and share more of my journey through the build process.
Swift Interview Tip💡 #2 When should you use a class instead of a struct? 🤔 ✅ Need inheritance ✅ Shared mutable state ✅ Identity matters If not… stick with structs. Default to value types.
One of the best tips I got while building my app: “If you’re scared it’s not perfect, good — it means you care. Ship anyway.” Every indie dev needs this reminder sometimes.
Swift Interview Tip💡#1 Struct vs Class — the classic Swift question: Structs = value types (copied on assignment) 👉 Classes = reference types (shared instance) Structs are safer for immutability & concurrency. Classes shine when identity matters. #swiftdevelopers
United States Тренды
- 1. Today is Election Day 2,386 posts
 - 2. Cowboys 70.5K posts
 - 3. Good Tuesday 20.8K posts
 - 4. #WeTVAlwaysMore2026 1.2M posts
 - 5. Nick Smith Jr 14K posts
 - 6. Cardinals 31.6K posts
 - 7. Kawhi 4,724 posts
 - 8. #WWERaw 66.3K posts
 - 9. Jonathan Bailey 38.4K posts
 - 10. Jerry 45.8K posts
 - 11. #LakeShow 3,530 posts
 - 12. #River 4,934 posts
 - 13. Comey 89.4K posts
 - 14. Blazers 8,526 posts
 - 15. Kyler 8,934 posts
 - 16. Valka 5,156 posts
 - 17. Logan Paul 11K posts
 - 18. #AllsFair N/A
 - 19. Dalex 2,850 posts
 - 20. No Luka 3,915 posts
 
Something went wrong.
Something went wrong.