A topic that I have been hearing a lot about lately is the MVVM design pattern. MVVM stands for Mode-View View Model and is intended to solve some of the concerns that have resulted from using the MVC design pattern - specifically in the context of iOS. While MVVM is certainly not an iOS specific design pattern, I did conduct some further research into MVVM using iOS as my research platform because I I wanted to try and figure out if MVVM could be a design pattern that fixes some of the issues that I have run into when developing large MVC iOS applications.
Today I was analyzing a potential bottleneck in some computation I was doing with Swift and thought I would try a basic linked list data structure to store data instead of an array. It soon dawned on me that I have never created a linked list in Swift before and thought this might be a good opportunity for a Swift Playground to test out my idea. Sure enough, using Playgrounds was a great way to test out my code and make sure it was running the way I wanted it to before integrating it into my project.
Last week I started building an iOS application in Swift 3.0 and Xcode 8 and was able to get a good portion of the application completed. Towards the end of last week I became aware of the need to integrate a Unity / Vuforia exported project into my existing iOS Swift project to enable an augmented reality feature in the iOS application I was working on.
Yesterday I was catching up on some of the recent proposals on the Swift Evolution Github page and seen a very interesting proposal that I thought I would discuss in brief detail.
As a follower and contributor to the Swift language every once and awhile I like to take stock of the latest proposals on Swift Evolution and see what has been accepted, what is in-review, or what has been rejected for the current release of the language. This allows me to gauge the direction of the language and to also see what Apple's reaction is to different proposal's in case I ever wanted to write my own proposal for Swift.
At the time of writing this Swift is the number one language project on Github. Apple is very proud that Swift is open source and I would have to agree that this is an excellent step forward for the language and for Apple. Another great step forward from a language and platform perspective is the ability to run Swift on macOS, iOS, watchOS, tvOS, and Ubuntu Linux. This is very interesting because it displays the the commitment on Apple's part to drive the language forward and gain support from the C community on Linux as well.
In my most recent adventures in iOS I had a string hashing problem that led me down the road of creating a machine learning algorithm in order to find the correct random hash string I was looking for. Looking back at the solution now, I was able to solve my problem successfully, but the solution I came up with to solve this problem is quite unsettling due to the variable results in time complexity derived from my solution.
This Monday in San Francisco Apple had their annual World Wide Developer Conference or WWDC. Last year Apple debuted iOS7, and it was a significant release for designers. This year, Apple announced iOS8, and they promised it to be a “Giant” developer release, a release that has not been this large since the launch of the app store.