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
Linux
Working with Dynamic Libraries in Xcode
Here's just a little tidbit that I ran across recently where Xcode, which normally does a good job covering all the bases, fell short just a bit. When you're working with dynamic libraries in just about any environment, especially Linux and MacOS, there is a two-way street when it comes to a program or another … Continue reading Working with Dynamic Libraries in Xcode
Bringing Back Some Old Friends
The designers of Swift seem to have really odd opinions regarding the merits of certain patterns that are very common across other languages. For example, they have deemed that the prefix and postfix operators "++" and "--" are, for some reason, not desirable. Weird. 🧐 Not a biggie because they also built Swift with the … Continue reading Bringing Back Some Old Friends
Byte Level File I/O in Swift
So, one of the first things I wanted to do in Swift was to start to port the Java model of XML over to Swift. But to do that I needed to be able to read the XML files as a series of bytes so that I could convert all the various character encodings (UTF-8, … Continue reading Byte Level File I/O in Swift
Taking the Swift Plunge
Okay... So... I think I'm finally ready to take the plunge and start learning the Swift Programming Language in earnest. I've been watching it and starting with version 5 there is finally enough there for me to get excited about. But this isn't going to be easy for me. Not like it was when I … Continue reading Taking the Swift Plunge
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