Model View Controller: Problems and Solutions Nov 22, 2016 Model View Controller or MVC is the application architecture used by default for applications on all Apple platforms. Most of the tools, frameworks, and docs from Apple all talk about it and support it. In MVC, objects are assigned 1 of 3 roles: Model - objects that encapsulate and manage the data the application works with (this includes persistence). The data typically represents things in the real world like an employee, hardware part, or a picture that is being drawn. ...
5 Ways to Avoid Force Unwrapping Nov 16, 2016 Someone on the reddit iOS Programming group asked “What are the mistakes generally done by iOS developers while coding in Swift?”A lot of comments were about using force unwrapping on optionals. Comments such as: Force unwrapping everything Using pyramids of if-let as opposed to guard statements var firstName: String! ugh Overuse of force unwrapped optionals. I cringe when I see that especially when a simple one-liner guard statement would make the code a ton safer. ...
Do You Find The Whole Planning Process Painful? Nov 09, 2016 A thread in the AskPrograming forum on reddit started with this question and I thought I would share my thoughts on planning and up-front design. Basically, the originator of the thread is expressing his dislike of planning before coding, but thinks it’s a good idea because they’ve either been told that or seen others do it. They also expresses dislike for planning tools and wonders if there’s a better way. Basically, they want to know how do you plan and how do you break up a project into tasks that you need to do. ...
Part 4: What Are the Downsides to Putting the Core Data MOC in the App Delegate Nov 01, 2016 In part 3, I talked about why putting the MOC in the app delegate makes any code that uses the MOC will be dependent on the app delegate and why that’s not a good thing. In part 2, I talked about why putting the MOC in the app delegate is a violation of the Single Responsibility Principle. In part 1, I talked about why putting the MOC in your app delegate makes you dependent on Core Data for your application’s persistence. ...
Part 3: What Are The Downsides to Putting the Core Data MOC in the App Delegate Oct 25, 2016 In part 2, I talked about why putting the MOC in the app delegate is a violation of the Single Responsibility Principle. In part 1, I talked about why putting the MOC in your app delegate makes you dependent on Core Data for your application’s persistence. Today I like to talk about the 3rd reason I gave in part 1, which is: Any code you write that uses myManagedObjectContext will be dependent on the App Delegate. ...
Part 2: What Are The Downsides to Putting the Core Data MOC in the App Delegate Oct 18, 2016 In my previous post, I gave some reasons why putting the Core Data MOC in your app delegate was a bad idea. Those reasons were: The app delegate is managing the Core Data stack. Classes should only have one responsibility. The app delegate is already responsible for managing application lifecycle. It shouldn’t be managing the Core Data stack as well. You are completely dependent on Core Data and using it as your persistence method for your app. ...
Swift Robot Arm Oct 11, 2016 In a previous post, I wrote about controlling my OWI robot arm with Elixir. Well, I decided to port that to Swift! In that post, there’s a link to some code that does it in Objective-C with IOKit. I first tried to just do a straight port and use IOKit in Swift. That didn’t work to well. The IOKit API is an old Core Foundation library and even has some old COM style APIs. ...
3 Ways To Fix Your iOS Testing Woes Oct 03, 2016 Lots of companies have constant problems testing their iOS apps. Here are some ways to fix or ease them. 1. Don’t Make Developers Run or Write UI Tests UI tests are black box tests and test the app from the perspective of the user. Your developers are the worst choice to test the app from this viewpoint and you need a fresh set of eyes for those tests. The QA engineer’s job is to test the app from the user’s viewpoint. ...
What are the Downsides to Putting the Core Data MOC in the App Delegate? Aug 25, 2016 I saw this question on the iOSProgramming topic in reddit: I’ve seen a number of different ways to access the NSManagedObjectContext when working with Core Data, but I was wondering if there are any downsides to the way I’ve been doing it. Basically, I stick a computed variable in the AppDelegate, and grab it when I need it… Please let me know if you see any flaws… If not, feel free to use it! ...
Elixir Robots May 22, 2015 My robot hobby is picking up steam. After going through the Python examples that came with the GoPiGo, I got inspired by some embedded Erlang videos on YouTube and decided to see if I could control the GoPiGo with Elixir. After watching Elixir Sips, I learned of a project called Elixir/Ale, an Elixir library for embedded programming. With Elixir/Ale, you can talk to the GPIO ports on the Raspberry Pi and some common hardware bus protocols: I2C and SPI. ...