I think it comes down to preference. I love TDD and do talk about it a lot. Before TDD, my job as an iOS dev was rather dull, frustrating, and ultimately wrong. I couldn't figure out what was the next thing that could break when I changed the system. i. e. Something else would break when I fixed a bug or did a new feature.
The real problem came when I decided to start TDD on iOS; I believed few people on iOS use TDD. So I started with a TDD book on iOS. It wasn't the best book on TDD because it felt wrong and slow since I was coupling my tests with the production code and made many mistakes. I never gave up because I knew where I came from, and I knew people like me went through the same problems and thrived using TDD. I just needed to look further until I found them.
Following that, I found great people who had a step-by-step course of doing TDD, but not only TDD, but how to build a great sustainable code that lets you go forward, be in a great functional team, and create Millions of dollars in revenue for the business they work for.
Of course, just like any other skill, it takes time to do it right, just like programming does. Many people see programming as unnatural, just like I did when I started playing soccer at 28, it felt unnatural, and I looked unnatural playing it too.
Only Practice makes you better at a craft until it feels natural, but you know everyone can either decide to practice and master their craft or not. It's a choice.
Help this fellow iOS developer by sharing this blog post! It will be much appreciated.