Robert (@developer__rob) 's Twitter Profile
Robert

@developer__rob

iOS indie dev 🚀 Building ComingUp in public | Sharing every win, mistake, and lesson along the way.

ID: 1612478643384586240

linkhttps://apps.apple.com/gb/app/comingup-event-countdown/id6473546387 calendar_today09-01-2023 15:57:37

131 Tweet

37 Takipçi

125 Takip Edilen

Robert (@developer__rob) 's Twitter Profile Photo

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.

Robert (@developer__rob) 's Twitter Profile Photo

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.

Robert (@developer__rob) 's Twitter Profile Photo

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.

Robert (@developer__rob) 's Twitter Profile Photo

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.

Robert (@developer__rob) 's Twitter Profile Photo

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.

Robert (@developer__rob) 's Twitter Profile Photo

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

Robert (@developer__rob) 's Twitter Profile Photo

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

Robert (@developer__rob) 's Twitter Profile Photo

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.

Robert (@developer__rob) 's Twitter Profile Photo

Time for the weekend. Continuing to build the initial UI for my new app Rehearse. Hoping to share some images of it soon.

Robert (@developer__rob) 's Twitter Profile Photo

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

Robert (@developer__rob) 's Twitter Profile Photo

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…

Robert (@developer__rob) 's Twitter Profile Photo

Swift Interview Tip💡 Codable in one line: “Easiest way to turn JSON into Swift types (and back).” Codable = Encodable + Decodable.

Robert (@developer__rob) 's Twitter Profile Photo

Swift Interview Tip 💡 State vs Binding in SwiftUI 🧩 State owns the data. Binding references someone else’s state. Ownership is everything in SwiftUI.

Robert (@developer__rob) 's Twitter Profile Photo

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?

Robert (@developer__rob) 's Twitter Profile Photo

Swift Interview Tip l💡 @ EnvironmentObject: Inject shared data through your SwiftUI hierarchy. Perfect for app-wide settings, sessions, or themes. Set once, access anywhere.

Robert (@developer__rob) 's Twitter Profile Photo

Swift Interview Tip💡 .task {} vs .onAppear {} .task: async-safe, cancels automatically .onAppear: sync only, runs once Prefer .task for async work in SwiftUI.

Robert (@developer__rob) 's Twitter Profile Photo

Swift Interview Tip💡 #14 async/await in plain English Write async code that looks like sync code. No more callback hell. Just clean, readable flow.

Swift Interview Tip💡 #14

async/await in plain English  

Write async code that looks like sync code.  

No more callback hell. Just clean, readable flow.