The iOS Apprentice: Second edition for iOS 7 and Xcode 5 now available!
If you want to learn iOS development and need a little structure to help you get started, I strongly recommend RayWenderlich.com’s iOS Apprentice, a set of four excellent tutorials written by Matthijs Hollemans. Each tutorial walks you through the construction and completion of a full-functional iOS app. The tutorials are:
- Bullseye: A simple game app. Building it, you’ll learn about iOS’ UI controls and using them to get input from and present results to the user.
- Checklists: Learn how to make use of table views and store user data by building a “to-do list” app.
- MyLocations: Build a location-aware app, and learn more about iOS’ object model and Core Data.
- StoreSearch: An app that lets you search the iTunes Store for music. Along the way, you’ll learn how to write apps that call web services, support multiple languages, create pop-up detail screens, and build universal apps that run on both the iPhone and iPad.
RayWenderlich.com says that you don’t need any prior development experience to use these tutorials, but even a experienced developer will find them useful (you can just skip the basic programming parts, and there’ll still be a lot of info you can use). Each app builds on the lessons of the previous one. By the time you’re done building the final app, you should be able to write your own App Store-worthy apps. I can’t recommend the iOS Apprentice highly enough; I’ve found it so incredibly helpful as I learned iOS development.
The latest edition has been updated for iOS 7 and Xcode 5, and it spans over 900 pages. If you haven’t bought any of the previous editions, you can buy the iOS Apprentice for US$54, which entitles you to free updates. If you have bought an earlier edition, you can download it for free.
TSValidatedTextField: A text field that you can validate with regex patterns
TSValidatedTextField is a subclass of
UITextField that lets you use an
NSRegularExpression to specify valid and invalid input.
Typhoon: A dependency injection framework for Objective-C
Dependency injection is a fancy-pants way of describing a design pattern that removes hard-coded dependencies on collaborating objects, making code that’s easier to modify, test, and update. You can do dependency injection on your own, but it’s much easier to use a framework. Typhoon is one such framework for Objective-C, it’s ready for us right now, and their site goes into greater detail on why you might want to use dependency injection and why you might want to use their particular framework.
All sorts of basic algorithms implemented in Objective-C
And finally, if you want to see what you might have forgotten from your second-year algorithms class implemented in Objective-C, take a look at Evgeny Karkan’s EKAlgorithms. In this still-evolving GitHub repo, you’ll see these classic hits from computer science:
- Index of maximum element in array.
- Find longest string in array of strings.
- Find shortest string in array of strings.
- Array reverse.
- Intersection of two arrays.
- Union of two arrays (with remove duplicates).
- Find duplicates.
- Array with N unique/not unique random objects.
- Linear search.
- Binary search.
- Bubble sort.
- Shell sort.
- Merge sort.
- Quick sort.
- Insertion sort.
- Palindrome or not.
- String reverse.
- Words count.
- Permutations of string.
- Occurrences of each character (a – z).
- Count needles in a haystack.
- Random string.
- Sieve of Eratosthenes.
- Great common divisor (GCD).
- Least common multiple (LCM).
- Fibonacci numbers.
- Sum of digits.
- Binary to decimal conversion.
- Decimal to binary conversion.
- Fast exponentiation.
- Stack (LIFO).
- Queue (FIFO).
- Linked list.
- DFS (depth-first search);
- BFS (breadth-first search).
- Binary search tree (BST).