I'm not sure about what distributed systems you are referring to. I might not have worked on anything that complex so far.
I used to find chaining async requests for fetching data from web services across different screens while taking care of variations in app states a bit overwhelming. Now, I tend to start with creating a substantial data model on the app side and unlinking the network calls from the controllers as much as possible to ease this process. Of course many of the things I do now are probably learnt by CS majors in universities. I learnt them the hard way as I am a self taught programmer.
You're absolutely right. My answer was a bit broad. My question was very general because I'm a novice and I don't know what I don't know (so to speak). I want to see if there's a general consensus on an aspect of iOS development that brings frustration. Figure out the pitfalls and what not.
By the way, thanks for sharing. I agree 100% with UI being a pain. On the other hand, I still don't have much experience with synchronizing data since most of my projects have been with static data.
In addition, I agree that money is one (or the only) end goal but I guess that's true for any career. I think if I had asked "How do I make tons of money with iOS development?" I would've gotten little answers. LOL. It's very difficult and the ones making the cash probably don't want their competition knowing.
I just published my first app. It isn't very good. I still consider myself in the learning process. What I find the most difficult is the UI/UX creation. How about you? What's the hardest thing about iOS development?
Right now my main concern is legacy code written in Objective-C. I have looked at taking a side project to maintain an app for someone but because it was written in Obj-C, I'm having some reservations. The good thing is that Xcode integration is the same for both Swift and Obj-C, but the syntax of Obj-C is very different.
Thanks you for your reply. It makes sense what you said. Although, I just want to clarify that I'm not only talking about visual elements. There's also UI elements for the purpose of presenting the data in different ways -- for example, Collection Views vs Table Views. Again, checkboxes and dropboxes were just arbitrary examples.
My goal is to try to fill avoid while continuing to learn Swift programming with a fun project. Thanks.