iOS Archives

These posts are syndicated from my iOS Dev Diary over at pinkstone.co.uk.

The format is slightly different with more code snippets and less explanations. I had originally designed it as a notebook in iOS Development – now you can follow along if you’re interested.

How to assure your values are as intended with NSAssert

NSAssert is a macro which allows you to test for specific values if and when they occur. Rather than having to figure out where your app has passed the wrong value several stages before a problem happened, NSAssert can be used like NSLog – with the helpful difference that if all is well, there’s no […]

What is an Exception Breakpoint

Sometimes Xcode just throws an error message that isn’t very helpful. That’s usually when we have to try and figure out why something didn’t go the way we expected it. Other times however, Xcode tells us very clearly which element it isn’t happy with – we fix it and our app progresses. Why can’t it […]

How to activate a UISearchDisplayController

We can do this two ways: // version 1: [self.searchBar becomeFirstResponder]; // version 2: [self.searchDisplayController setActive:YES animated:YES]; The benefit of version 2 is that if we perform it “in vision”, we can use the animated option and make it look all swish. Version 2 of course also has a reverse with which we can deactivate […]

How to extract first n characters of an NSString

We can use substringWithRange for this, which requires us to define a range: NSString *something = @”123456789″; NSRange myRange = NSMakeRange(2, 3); something = [something substringWithRange:myRange]; // something is now 345 You create a range by specifying where the substring should start (the first character is 0, like in an array), then specify how many […]

How to create your own Data Type using typedef

With typedef you can specify custom variable types. Instead of having a variable such as int, you could create your own – such as yourInt: // create a typedef of int typedef int yourInt; yourInt yourValue = 57; NSLog(@”Your value is %i”, yourValue); Now you have your own variable type called youInt which behaves just […]

How to create an Enumeration (enum)

An Enumeration (enum) allows you to create a collection of custom values. These can be more meaningful than simply using numbers. Imagine you want to track drink sizes, such as small, medium and large. You can remember to just use the numbers 1, 2 and 3 for each size – but Enumeration makes it easier […]

How to create an NSIndexPath and specify its components

On occasion we need to create an NSIndexPath manually, with components we specify (such as a row or a section). There’s a method for that: indexPath:forItem:inSection. Here’s how you create an indexPath for row 0, section 0: NSIndexPath *indexPath = [[NSIndexPath alloc]init]; indexPath = [NSIndexPath indexPathForItem:0 inSection:0]; The method takes two integers. You can even […]