After years of writing Objective-C, I was finally confident enough in my skills and understanding of the language to write and open-source a general-purpose model layer, FCModel, as a lightweight Core Data alternative that’s closer to SQL. It has attracted a small but solid audience, with many invaluable contributions and bugfixes.
Apparently, it somewhat works with Swift. But I don’t plan to port it in the near future.
Swift is a new language with new behaviors and, most importantly, new standards and expectations. I expect to accumulate enough Swift knowledge and experience to be able to make something like FCModel for it, but:
- I probably won’t have the confidence (or time) to tackle that problem for at least a year.
- I’d almost certainly make backwards-incompatible changes.
- FCModel’s usage, behavior, and implementation may require major changes to fit into Swift’s standards and style.
By that time, SwiftModel (or whatever) may not need to exist. Core Data in iOS 8 and 10.10 matched some of its major advantages, so maybe we’ll all just use that. Or maybe someone else will come up with a better SQLite model implementation for Swift by then.
I just wrote a huge app with FCModel, so I’m sticking with it for a while in Objective-C, but I don’t intend to port it to Swift soon, or in a recognizable or compatible form.