<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Lasse Bunk&#039;s weblog &#187; iPhone</title>
	<atom:link href="http://lassebunk.dk/tag/iphone/feed/" rel="self" type="application/rss+xml" />
	<link>http://lassebunk.dk</link>
	<description>Ruby on Rails, programming, and SEO</description>
	<lastBuildDate>Sat, 04 Feb 2012 12:51:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Making a simple Twitter app using iOS 5, Xcode 4.2, and storyboards</title>
		<link>http://lassebunk.dk/2012/01/09/making-a-simple-twitter-app-using-ios-5-xcode-4-2-and-storyboards/</link>
		<comments>http://lassebunk.dk/2012/01/09/making-a-simple-twitter-app-using-ios-5-xcode-4-2-and-storyboards/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 07:18:01 +0000</pubDate>
		<dc:creator>lassebunk</dc:creator>
				<category><![CDATA[iOS]]></category>
		<category><![CDATA[Beginner]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[How-to]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Storyboards]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://lassebunk.dk/?p=2040</guid>
		<description><![CDATA[How to use iOS 5, Xcode 4.2, and storyboards to create a simple Twitter app that will list tweets and show details about each tweet.]]></description>
			<content:encoded><![CDATA[<p>After recently learning to do iOS (iPhone and iPad) apps I thought I&#8217;d share some of the insigts I&#8217;ve gained over the last few weeks. Let&#8217;s do this by making a simple Twitter app that will list tweets and when you click a tweet, show details about the tweet and user.</p>
<p>Start by creating a new project from <strong>File</strong> &rsaquo; <strong>New</strong> &rsaquo; <strong>New Project</strong>.</p>
<p><a href="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-08-at-8.35.26-PM.png"><img class="size-full wp-image-2041" title="New Project" src="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-08-at-8.35.26-PM.png" alt="" width="464" height="276" /></a></p>
<p>Select <strong>Master-Detail Application</strong> and click <strong>Next</strong>.</p>
<p><a href="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-08-at-8.47.37-PM.png"><img class="alignnone size-full wp-image-2042" title="Screen Shot 2012-01-08 at 8.47.37 PM" src="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-08-at-8.47.37-PM.png" alt="" width="582" height="279.3333333333333" /></a></p>
<p>As Product Name enter &#8216;Twitter Test&#8217;. Make sure the <strong>Use Storyboard</strong> and <strong>Use Automatic Reference Counting</strong> check boxes are checked. Click <strong>Next</strong>.</p>
<p>Select where to save the project and click <strong>Create</strong>.</p>
<p><a href="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-08-at-8.51.22-PM.png"><img class="alignnone size-full wp-image-2044" title="Screen Shot 2012-01-08 at 8.51.22 PM" src="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-08-at-8.51.22-PM.png" alt="" width="385.3333333333333" height="306" /></a></p>
<p>Your project is now created. It has automatically set up a storyboard a master view controller and a detail view controller. The storyboard is where we will design our app – the controllers are where the programming takes place.</p>
<p>Let&#8217;s open up our storyboard to see what it contains. Click on <strong>MainStoryboard.storyboard</strong> to the left and the storyboard comes up:</p>
<p><a href="http://lassebunk.dk/2012/01/09/making-a-simple-twitter-app-using-ios-5-xcode-4-2-and-storyboards/screen-shot-2012-01-08-at-8-57-31-pm/" rel="attachment wp-att-2050"><img class="alignnone size-medium wp-image-2050" title="Screen Shot 2012-01-08 at 8.57.31 PM" src="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-08-at-8.57.31-PM-450x186.png" alt="" width="449.3333333333333" height="185.33333333333334" /></a></p>
<p>This basically tells us that we have:</p>
<ol>
<li>A <strong>navigation view controller</strong> – that&#8217;s the type of controller that automatically gives a Back button when you navigate from a list view down to a detail view.</li>
<li>A <strong>master view controller</strong> – that&#8217;s where we&#8217;ll have our tweet list.</li>
<li>A <strong>the detail view controller</strong> – that&#8217;s where we&#8217;ll have details about each tweet.</li>
</ol>
<p>The lines between each controller are called <strong>&#8216;segues&#8217;</strong>. We&#8217;ll talk more about these later on when we handle the action when the user selects a tweet.</p>
<p>Let&#8217;s set up our <strong>table view</strong>.</p>
<p>Select the table view in the tree view to the left:</p>
<p><a href="http://lassebunk.dk/2012/01/09/making-a-simple-twitter-app-using-ios-5-xcode-4-2-and-storyboards/screen-shot-2012-01-08-at-9-23-32-pm/" rel="attachment wp-att-2056"><img class="alignnone size-medium wp-image-2056" title="Screen Shot 2012-01-08 at 9.23.32 PM" src="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-08-at-9.23.32-PM-450x227.png" alt="" width="449.3333333333333" height="226" /></a></p>
<p>And to the right select <strong>Dynamic Prototypes</strong> instead of <strong>Static Cells</strong>:</p>
<p><a href="http://lassebunk.dk/2012/01/09/making-a-simple-twitter-app-using-ios-5-xcode-4-2-and-storyboards/screen-shot-2012-01-08-at-9-24-32-pm/" rel="attachment wp-att-2057"><img class="alignnone size-full wp-image-2057" title="Screen Shot 2012-01-08 at 9.24.32 PM" src="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-08-at-9.24.32-PM.png" alt="" width="387.3333333333333" height="227.33333333333334" /></a></p>
<p>This tells the table view that we&#8217;re going to set up the cells <strong>dynamically</strong> from our controller.</p>
<p>Next, again in the tree view to the left, select the <strong>Table View Cell</strong>:</p>
<p><a href="http://lassebunk.dk/2012/01/09/making-a-simple-twitter-app-using-ios-5-xcode-4-2-and-storyboards/screen-shot-2012-01-08-at-9-26-33-pm/" rel="attachment wp-att-2058"><img class="alignnone size-full wp-image-2058" title="Screen Shot 2012-01-08 at 9.26.33 PM" src="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-08-at-9.26.33-PM.png" alt="" width="381.3333333333333" height="224" /></a></p>
<p>And, on the right, set style to <strong>Subtitle</strong> and <strong>Identifier</strong> to <strong>&#8216;TweetCell&#8217;</strong> – that&#8217;s the name we&#8217;re going to use in our code to find the cell so we can fill out its details:<br />
<a href="http://lassebunk.dk/2012/01/09/making-a-simple-twitter-app-using-ios-5-xcode-4-2-and-storyboards/screen-shot-2012-01-08-at-9-28-24-pm/" rel="attachment wp-att-2059"><img class="alignnone size-full wp-image-2059" title="Screen Shot 2012-01-08 at 9.28.24 PM" src="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-08-at-9.28.24-PM.png" alt="" width="308" height="163.33333333333334" /></a></p>
<p>You&#8217;ll see that the view style changes – that&#8217;s the style we&#8217;ll use to display the tweet text as the title, and tweet author as the subtitle:</p>
<p><a href="http://lassebunk.dk/2012/01/09/making-a-simple-twitter-app-using-ios-5-xcode-4-2-and-storyboards/screen-shot-2012-01-08-at-9-36-25-pm/" rel="attachment wp-att-2066"><img class="alignnone size-full wp-image-2066" title="Screen Shot 2012-01-08 at 9.36.25 PM" src="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-08-at-9.36.25-PM.png" alt="" width="435" height="189" /></a></p>
<p>So, now we&#8217;re all set up in the storyboard part – at least as far as the master view goes. Don&#8217;t worry – we&#8217;ll get back to the detail view later on.</p>
<p>Go into <strong>MasterViewController.m</strong> by selecting it on the left:</p>
<p><a href="http://lassebunk.dk/2012/01/09/making-a-simple-twitter-app-using-ios-5-xcode-4-2-and-storyboards/screen-shot-2012-01-08-at-9-40-49-pm/" rel="attachment wp-att-2069"><img class="alignnone size-medium wp-image-2069" title="Screen Shot 2012-01-08 at 9.40.49 PM" src="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-08-at-9.40.49-PM-450x154.png" alt="" width="450" height="154" /></a></p>
<p>This is where all the action will take place. But first we need to set up an instance variable to contain our tweets.</p>
<p>Click on <strong>MasterViewController.h</strong> to the left:</p>
<p><a href="http://lassebunk.dk/2012/01/09/making-a-simple-twitter-app-using-ios-5-xcode-4-2-and-storyboards/screen-shot-2012-01-08-at-9-45-54-pm/" rel="attachment wp-att-2070"><img class="alignnone size-medium wp-image-2070" title="Screen Shot 2012-01-08 at 9.45.54 PM" src="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-08-at-9.45.54-PM-450x158.png" alt="" width="450" height="158" /></a></p>
<p>And replace the <code>@interface</code> to <code>@end</code> part with the following code:</p>
<pre class="brush: objc; title: ; notranslate">
@interface MasterViewController : UITableViewController {
    NSArray *tweets;
}

- (void)fetchTweets;

@end
</pre>
<p>This tells Objective-C that we have a <code>tweets</code> instance variable and a <code>fetchTweets</code> method.</p>
<p>Now to the actual tweet fetching. Go back into <strong>MasterViewController.m</strong> and insert the following method:</p>
<pre class="brush: objc; title: ; notranslate">
- (void)fetchTweets
{
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        NSData* data = [NSData dataWithContentsOfURL:
                        [NSURL URLWithString: @&quot;https://api.twitter.com/1/statuses/public_timeline.json&quot;]];

        NSError* error;

        tweets = [NSJSONSerialization JSONObjectWithData:data
                                                 options:kNilOptions
                                                   error:&amp;error];

        dispatch_async(dispatch_get_main_queue(), ^{
            [self.tableView reloadData];
        });
    });
}
</pre>
<p>What this does is that it makes a <strong>separate thread</strong> to fetch the JSON data and then goes back to the main thread to update the table view when it&#8217;s done. The reason to do this is that if we were to get the data using the <strong>main thread</strong>, then the application would lock up until the data was loaded.</p>
<p>Call this method from inside the <code>viewDidLoad</code> method:</p>
<pre class="brush: objc; title: ; notranslate">
- (void)viewDidLoad
{
    [super viewDidLoad];
    [self fetchTweets];
}
</pre>
<p>This tells the application to load the JSON data as soon as the view loads.</p>
<p>So now our Twitter feed is loaded into to our instance variable named <code>tweets</code>. This now contains an array holding a number of <code>NSDictionary</code> objects where <code>NSDictionary</code> is a key/value collection.</p>
<p>Next, insert the following two methods:</p>
<pre class="brush: objc; title: ; notranslate">
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return tweets.count;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *CellIdentifier = @&quot;TweetCell&quot;;

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }

    NSDictionary *tweet = [tweets objectAtIndex:indexPath.row];
    NSString *text = [tweet objectForKey:@&quot;text&quot;];
    NSString *name = [[tweet objectForKey:@&quot;user&quot;] objectForKey:@&quot;name&quot;];

    cell.textLabel.text = text;
    cell.detailTextLabel.text = [NSString stringWithFormat:@&quot;by %@&quot;, name];

    return cell;
}
</pre>
<p>And run your application. Click the <strong>Run</strong> icon:</p>
<p><a href="http://lassebunk.dk/2012/01/09/making-a-simple-twitter-app-using-ios-5-xcode-4-2-and-storyboards/screen-shot-2012-01-08-at-10-15-22-pm/" rel="attachment wp-att-2076"><img src="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-08-at-10.15.22-PM.png" alt="" title="Screen Shot 2012-01-08 at 10.15.22 PM" width="75" height="56" class="alignnone size-full wp-image-2076" /></a></p>
<p>And it works:</p>
<p><a href="http://lassebunk.dk/2012/01/09/making-a-simple-twitter-app-using-ios-5-xcode-4-2-and-storyboards/screen-shot-2012-01-08-at-10-13-07-pm/" rel="attachment wp-att-2075"><img src="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-08-at-10.13.07-PM-239x450.png" alt="" title="Screen Shot 2012-01-08 at 10.13.07 PM" width="239" height="450" class="alignnone size-medium wp-image-2075" style="border: none;" /></a></p>
<p>Pretty simple, huh? <img src='http://lassebunk.dk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Well, can&#8217;t dwell on our success, so let&#8217;s go on to something that needs to be done.</p>
<p>Try selecting a tweet. Our intention was to load the detail view, but this doesn&#8217;t happen. Why not?</p>
<p>Go back into the storyboard:</p>
<p><a href="http://lassebunk.dk/2012/01/09/making-a-simple-twitter-app-using-ios-5-xcode-4-2-and-storyboards/screen-shot-2012-01-08-at-10-21-12-pm/" rel="attachment wp-att-2079"><img src="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-08-at-10.21.12-PM-450x243.png" alt="" title="Screen Shot 2012-01-08 at 10.21.12 PM" width="450" height="243" class="alignnone size-medium wp-image-2079" /></a></p>
<p>Notice how there&#8217;s no segue between the master view controller and the detail view controller. What happened was that when we went from static cells to prototype cells in the storyboard before, it erased it, so now it doesn&#8217;t know what to do. Let&#8217;s help it out.</p>
<p>To the left, <strong>CTRL + drag</strong> from the <strong>Table View Cell</strong> to <strong>Detail View Controller</strong>, and select <strong>Push</strong>:</p>
<p><a href="http://lassebunk.dk/2012/01/09/making-a-simple-twitter-app-using-ios-5-xcode-4-2-and-storyboards/screen-shot-2012-01-08-at-10-26-34-pm/" rel="attachment wp-att-2081"><img src="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-08-at-10.26.34-PM.png" alt="" title="Screen Shot 2012-01-08 at 10.26.34 PM" width="394" height="299" class="alignnone size-full wp-image-2081" /></a></p>
<p>Now it knows what to do, so try hitting <strong>Run</strong> again.</p>
<p><a href="http://lassebunk.dk/2012/01/09/making-a-simple-twitter-app-using-ios-5-xcode-4-2-and-storyboards/untitled/" rel="attachment wp-att-2082"><img src="http://lassebunk.dk/media/2012/01/Untitled-235x450.png" alt="" title="Untitled" width="235" height="450" class="alignnone size-medium wp-image-2082" /></a></p>
<p>And it works.</p>
<p>In the storyboard, double click on the <strong>&#8216;Master&#8217;</strong> and <strong>&#8216;Detail&#8217;</strong> titles and change them to <strong>&#8216;Tweets&#8217;</strong> and <strong>&#8216;Tweet&#8217;</strong> accordingly:<br />
<a href="http://lassebunk.dk/2012/01/09/making-a-simple-twitter-app-using-ios-5-xcode-4-2-and-storyboards/screen-shot-2012-01-08-at-10-30-55-pm/" rel="attachment wp-att-2085"><img src="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-08-at-10.30.55-PM-450x148.png" alt="" title="Screen Shot 2012-01-08 at 10.30.55 PM" width="450" height="148" class="alignnone size-medium wp-image-2085" /></a></p>
<p>Click on the <strong>segue</strong> between the table view and detail view:</p>
<p><a href="http://lassebunk.dk/2012/01/09/making-a-simple-twitter-app-using-ios-5-xcode-4-2-and-storyboards/screen-shot-2012-01-08-at-10-36-47-pm/" rel="attachment wp-att-2088"><img src="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-08-at-10.36.47-PM.png" alt="" title="Screen Shot 2012-01-08 at 10.36.47 PM" width="336" height="281" class="alignnone size-full wp-image-2088" /></a></p>
<p>And change its identifier to <strong>&#8216;showTweet&#8217;</strong>:</p>
<p><a href="http://lassebunk.dk/2012/01/09/making-a-simple-twitter-app-using-ios-5-xcode-4-2-and-storyboards/screen-shot-2012-01-08-at-10-37-54-pm/" rel="attachment wp-att-2089"><img src="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-08-at-10.37.54-PM-450x261.png" alt="" title="Screen Shot 2012-01-08 at 10.37.54 PM" width="450" height="261" class="alignnone size-medium wp-image-2089" /></a></p>
<p>In MasterViewController.m, right below <code>#import "MasterViewController.h"</code>, insert the following code:</p>
<pre class="brush: objc; title: ; notranslate">
#import &quot;DetailViewController.h&quot;
</pre>
<p>This is to give us access to the detail view controller from the master view controller.</p>
<p>Insert the following method:</p>
<pre class="brush: objc; title: ; notranslate">
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
    if ([segue.identifier isEqualToString:@&quot;showTweet&quot;]) {

        NSInteger row = [[self tableView].indexPathForSelectedRow row];
        NSDictionary *tweet = [tweets objectAtIndex:row];

        DetailViewController *detailController = segue.destinationViewController;
        detailController.detailItem = tweet;
    }
}
</pre>
<p>Basically what this does is that it tells the app what to do when it hits the segue between the master view and the detail view. It identifies the selected row, finds the tweet, and then sets the detailItem property on the detail view controller. (The detailItem property was automatically created when we selected <strong>Master-Detail Application</strong> in the beginning. Thanks Xcode!)</p>
<p>Now we&#8217;re ready to do the <strong>detail view controller</strong>.</p>
<p>Open up the storyboard and delete the label saying <strong>&#8216;Detail view content goes here&#8217;</strong>. We&#8217;ll be creating our own.</p>
<p>Insert a label for the name, a label for the tweet, and an image view for the profile image, like this:</p>
<p><a href="http://lassebunk.dk/2012/01/09/making-a-simple-twitter-app-using-ios-5-xcode-4-2-and-storyboards/screen-shot-2012-01-08-at-11-03-48-pm/" rel="attachment wp-att-2100"><img src="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-08-at-11.03.48-PM-429x450.png" alt="" title="Screen Shot 2012-01-08 at 11.03.48 PM" width="429" height="450" class="alignnone size-medium wp-image-2100" /></a></p>
<p>You can customize the text sizes like you want.</p>
<p>We&#8217;ll need a way to call these new controls from our code. This is done by creating three outlets which is a sort of wire, or connection, between the view and the controller. In <strong>DetailViewController.h</strong>, replace the <code>@interface</code> line with the following code:</p>
<pre class="brush: objc; title: ; notranslate">
@interface DetailViewController : UIViewController {
    IBOutlet UIImageView *profileImage;
    IBOutlet UILabel *nameLabel;
    IBOutlet UILabel *tweetLabel;
}
</pre>
<p>Now we have created the outlets. We now need to reference, or connect, these from our views. To the left, <strong>CTRL + drag</strong> from <strong>Detail View Controller</strong> to <strong>&#8216;Label &#8211; Name goes here&#8217;</strong> and select <strong>nameLabel</strong>:</p>
<p><a href="http://lassebunk.dk/2012/01/09/making-a-simple-twitter-app-using-ios-5-xcode-4-2-and-storyboards/screen-shot-2012-01-08-at-11-09-44-pm/" rel="attachment wp-att-2101"><img src="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-08-at-11.09.44-PM.png" alt="" title="Screen Shot 2012-01-08 at 11.09.44 PM" width="383" height="191" class="alignnone size-full wp-image-2101" /></a></p>
<p><strong>CTRL + drag</strong> also from <strong>Detail View Controller</strong> to <strong>&#8216;Label &#8211; Tweet goes here&#8217;</strong> and select <strong>tweetLabel</strong>, and from <strong>Detail View Controller</strong> to <strong>&#8216;Image View&#8217;</strong> and select <strong>profileImage</strong>.</p>
<p>Now we can call the labels and image view from our code.</p>
<p>In DetailViewController.rb, replace the <code>configureView</code> method with the following code:</p>
<pre class="brush: objc; title: ; notranslate">
- (void)configureView
{
    if (self.detailItem) {
        NSDictionary *tweet = self.detailItem;

        NSString *text = [[tweet objectForKey:@&quot;user&quot;] objectForKey:@&quot;name&quot;];
        NSString *name = [tweet objectForKey:@&quot;text&quot;];

        tweetLabel.lineBreakMode = UILineBreakModeWordWrap;
        tweetLabel.numberOfLines = 0;

        nameLabel.text = text;
        tweetLabel.text = name;

        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
            NSString *imageUrl = [[tweet objectForKey:@&quot;user&quot;] objectForKey:@&quot;profile_image_url&quot;];
            NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:imageUrl]];

            dispatch_async(dispatch_get_main_queue(), ^{
                profileImage.image = [UIImage imageWithData:data];
            });
        });
    }
}
</pre>
<p>Try running the code, and there you have it – a list view and a detail view showing the tweet!</p>
<div style="overflow: hidden;">
<a href="http://lassebunk.dk/2012/01/09/making-a-simple-twitter-app-using-ios-5-xcode-4-2-and-storyboards/screen-shot-2012-01-09-at-7-46-31-am/" rel="attachment wp-att-2122"><img src="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-09-at-7.46.31-AM-239x450.png" alt="" title="Screen Shot 2012-01-09 at 7.46.31 AM" width="239" height="450" class="alignleft size-medium wp-image-2122" style="border: none;" /></a><a href="http://lassebunk.dk/2012/01/09/making-a-simple-twitter-app-using-ios-5-xcode-4-2-and-storyboards/screen-shot-2012-01-09-at-7-46-34-am/" rel="attachment wp-att-2123"><img src="http://lassebunk.dk/media/2012/01/Screen-Shot-2012-01-09-at-7.46.34-AM-239x450.png" alt="" title="Screen Shot 2012-01-09 at 7.46.34 AM" width="239" height="450" class="alignleft size-medium wp-image-2123" style="border: none;" /></a>
</div>
<p>Hope you liked it <img src='http://lassebunk.dk/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<ul>
<li>Check out more of the Twitter API <a href="https://api.twitter.com/1/statuses/public_timeline.json">here</a> and <a href="https://dev.twitter.com/docs/api/1/get/statuses/public_timeline">here</a></li>
<li>More JSON <a href="http://www.raywenderlich.com/5492/working-with-json-in-ios-5">here</a></li>
<li>Thanks to the team at <a href="http://www.raywenderlich.com/">Ray Wendelich</a> for inspiring me to begin iOS programming</li>
</ul>
<p>
<a href="http://twitter.com/lassebunk" onclick="abtest.trackGoal(21, this);" class="icon twitter">Follow me on Twitter</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://lassebunk.dk/2012/01/09/making-a-simple-twitter-app-using-ios-5-xcode-4-2-and-storyboards/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

