Within the Swift Foundation Library there exists a function called withoutActuallyEscaping(_:do:) that has, at least for me, become one of those hidden gems that is extremely useful for things beyond its original intention. As it's documentation states: Allows a nonescaping closure to temporarily be used as if it were allowed to escape.Apple Documentation - Swift … Continue reading Helpful Swift Trick #1 – withoutActuallyEscaping(_:do:)
Objective-C
Swift Struct vs. Class
I've been having a tough time in Swift with the Struct vs. Class issue. Unlike Java and Objective-C, Swift allows value type "classes" known as Struct types. These behave very similar to C++ objects that are created without dynamic memory allocation - in other words they're created on the stack instead of the heap. This … Continue reading Swift Struct vs. Class
Documentation 😳
I've started using Jazzy to generate documentation for my Swift and Objective-C projects. If you do development on the macOS platform then I highly recommend using Jazzy. It's by far the easiest to use. Here's a sample: Rubicon â–º Extensions â–º String â–º split(on:limit:)
Rubicon
I've made a major milestone in my personal project Rubicon. Â I've gotten it where it will build on Linux as well as Mac OS X. Â More info is in the readme file. Â Check it out:Â https://github.com/GalenRhodes/Rubicon
Always an Easier Way
Previously in Avoiding an Objective-C Pitfall #1 I discussed a more stable way of creating singletons in Objective-C.  As with all things in the world of Apple there's always an easier way and that way comes to us via two very powerful yet unnoticed (in the Windows and Linux communities at least) APIs that Apple has contributed to … Continue reading Always an Easier Way
Thoughts on GNUstep
For those that don't know GNUstep is a project that started many years ago to help bring Objective-C to the masses using operating systems other than Mac OS X macOS. Â Actually, Objective-C already existed on any platform that had access to the GCC compiler suite but what GNUstep sought to do was bring the primary … Continue reading Thoughts on GNUstep