Posts tagged "code"
In my conversations with developers, I’ve heard a pretty common theme from them that “Core Data is hard” or “Core Data is buggy” or “I could never get it to work right and gave up on it”.
About five months ago, I wrote about improving MVC and fixing the “massive view controller” problem.
There are two things that make me hate being a programmer.
If I were Supreme Swift Potentate, there are a few things I’d change about how Swift deals with protocols, and how this gets manifest in the standard library.
I’ve developed a handy trick when writing frameworks in Swift that makes the overall process a little bit nicer, and it’s just adding a single file to your framework.
When you’re writing an iOS or macOS app, you typically don’t need to dynamically know what your own entitlements are. However, there are a couple of rare circumstances when it could be Nice To Have.
Finding the root cause of an error in your app can often feel very intimidating, whether you’re brand-new to programming or you’ve been building coding for decades. Debugging problems can be extremely time consuming. Where do you start looking? How do you know if what you think is the problem is actually the problem?
There are other ways you can apply these principles to writing more maintainable apps.
The principle behind fixing Massive View Controller is to unlearn a concept that’s inadvertently drilled in to new developers’ heads:
In order to fix the encapsulation violation we saw earlier, we need to understand a pretty simple principle:
I recently ran across a great article by @radiantav called “Much ado about iOS architecture”. It addresses a topic that has been on my mind a lot. I gave a talk about it at the recent Swift by Northwest called “A Better MVC”. These blog posts attempt to capture the main points of my talk.
Recently I was working on a little app for myself to help me keep track of some information on my computer. The app is powered by an
NSMetadataQuery(essentially a Spotlight search) that reports back everything it finds.