Software Development Tutorials

Getting started guides, How-to's, and in-depth explanation of various topics in software development.


Learn Objective-C, Building an App (Part 12): Working With Web Data

Objective-C Aug 15, 2013

Apps become a lot more interesting when we connect them to the internet. They’re able to fetch live data, update that data, and interact with other people and devices. In this post, we’ll look at how to pull data from the internet. We’ll be working with JSON data. JSON, which stands

Read more Feifan Zhou

Learn Objective-C, Building an App (Part 10): Basic Data Persistence

Objective-C Aug 19, 2012

Persistence is the ability to save files and content to disk, so that you can read it out later and be able to save stuff. Most apps use persistence of some sort; even if your app doesn’t create files, you may still have settings and configurations you want to save. iOS provides a number of formats

Read more Feifan Zhou

Learn Objective-C: Advanced Tables

Objective-C Jan 16, 2012

In this post we’re going to take a step away from our existing project and look at other things UITableView will allow us to do. We’ll load in data from a plist, add some more elements to our table view, including images, subtexts, and allowing editing. These features allow us and the user

Read more Feifan Zhou

Learn Objective-C, Building an App (Part 4): Automatic Reference Counting

Objective-C Nov 27, 2011

So far, we have been manually doing our memory management according to the basic rules established a long time ago. This method is still fine and is still the standard way to do it, but at WWDC 2011 Apple unveiled the revolutionary ARC technology. ARC stands for Automatic Reference Counting which does

Read more Feifan Zhou

Learn Objective-C, Design Patterns: Key-Value Observing

Objective-C Sep 10, 2011

Key-Value Observing (KVO) is heavily used in OS X development in bindings and form a significant portion of UI design. However, with iOS, it takes on somewhat less significance and is mostly used as necessary to simplify program design. KVO “broadcasts” a notification whenever a property

Read more Feifan Zhou

Learn Objective-C, Design Patterns: Model-View-Controller

Objective-C Aug 13, 2011

As programs get larger, there is a greater need for a paradigm to keep everything in order. At the simplest level, any program is a means to store data and present it in a meaningful way. With only a few views and a good data store, this might be rather easy in a simple app for iPhone. But with Pages-caliber

Read more Feifan Zhou

Learn Objective-C: A Handy Debugging Tool

Objective-C Jul 28, 2011

During the development of any application, there will be times when you have to track errors in your code. Having the errors be clearly expressed in the Console or in an alert will help with the debugging. As an example, rather than letting your application crash with an exception, it might make sense

Read more Feifan Zhou

Learn Objective-C: Floating in Uncertainty

Objective-C Jul 15, 2011

Among the primitive data types that Objective-C offers are float and double. Similar to long, double is simply double the storage in bits of float. However, as the name suggests, both are floating-point numbers. That is, the decimal point literally “floats” around as necessary. This can lead

Read more Feifan Zhou

Learn Objective-C: Mutable vs. Immutable Strings

Objective-C Jul 3, 2011

As promised, some more interesting topics are on the way. Today, I stumbled across an interesting question over at StackOverflow: Usage of NSString and NSMutableString objects in Objective C The primary point of confusion is the exact role of NSMutableString, and how it differs from NSString. It’s

Read more Feifan Zhou

Learn Objective-C: Foreach Loop

Objective-C Jun 27, 2011

Enumerating through the contents of a collection class is a very common activity. Collection classes in the Foundation framework include NSSet and NSArray. Enumerating is simply the act of going through the collection and getting every value inside—you might do this, for example, if you were doing

Read more Feifan Zhou