<?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/"
	xmlns:go='http://ns.gigaom.com/'
xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>GigaOM &#187; Keun Lee Archives</title>
	<atom:link href="http://gigaom.com/author/leekuens/feed/" rel="self" type="application/rss+xml" />
	<link>http://gigaom.com</link>
	<description></description>
	<lastBuildDate>Sun, 27 May 2012 08:21:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='gigaom.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/0db8f6557d022075dbbf010c54d46d93?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>GigaOM &#187; Keun Lee Archives</title>
		<link>http://gigaom.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://gigaom.com/osd.xml" title="GigaOM" />
	<atom:link rel='hub' href='http://gigaom.com/?pushpress=hub'/>
		<item>
		<title>iPhone Dev Sessions: Create a Navigation-Based Application</title>
		<link>http://gigaom.com/apple/iphone-dev-sessions-create-a-navigation-based-application/</link>
		<comments>http://gigaom.com/apple/iphone-dev-sessions-create-a-navigation-based-application/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 19:30:50 +0000</pubDate>
		<dc:creator>Keun Lee</dc:creator>
				<category><![CDATA[CNN Big Tech]]></category>
		<category><![CDATA[NYT Enterprise]]></category>
		<category><![CDATA[SYN Feature Enterprise]]></category>
		<category><![CDATA[Walkthroughs]]></category>
		<category><![CDATA[Apps]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iphone dev sessions]]></category>
		<category><![CDATA[iPod Touch]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=21018</guid>
		<description><![CDATA[In this tutorial, you will learn how to do the following: Create and run a Navigation-Based Application from XCode Create and add a user interface, designed in Interface Builder, as a sub-view to a navigation based application Navigate to sub-views from a UITableView Allow sub-views to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=172588&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In this tutorial, you will learn how to do the following:</p>
<ul>
<li>Create and run a Navigation-Based Application from XCode</li>
<li>Create and add a user interface, designed in Interface Builder, as a sub-view to a navigation based application</li>
<li>Navigate to sub-views from a UITableView</li>
<li>Allow sub-views to access application data</li>
</ul>
<h3>Creating and Running a Navigation-Based Application in XCode</h3>
<p>Let&#8217;s start off by opening up XCode and creating a Navigation-Based Application.</p>
<p style="text-align: center;"><img  title="001" src="http://gigapple.files.wordpress.com/2009/04/001.png?w=604" alt="001" class=" alignleft" /></p>
<p>Click <strong>Choose&#8230;</strong> and give your application the name <strong>BasicNavigation</strong>. Once completed, your project window should look like this.</p>
<p style="text-align: center;"><img  title="002" src="http://gigapple.files.wordpress.com/2009/04/002.png?w=604" alt="002" class=" alignleft" /></p>
<p>At this point, if you click &#8220;Build and Go&#8221; and have your project selected to run on the iPhone simulator, you should see the application launch and display a bare UITableView, with undefined row elements. No worries, this is going to change very soon. Your app at this point should look like the following below. <span id="more-172588"></span></p>
<p style="text-align: center;"><img  title="003" src="http://gigapple.files.wordpress.com/2009/04/003.png?w=309&h=594" alt="003" width="309" height="594" class=" alignleft" /></p>
<h3>Adding a Sub-view (Designed in Interface Builder) to a UITableView</h3>
<p>We are now going to add a sub-view to our application. This sub-view will consist of three key elements.</p>
<ul>
<li>A Header File (*.h file extension) &#8212; Used for defining methods and variables to be used by an accompanied implementation file.</li>
<li>An Implementation File (*.m file extension) &#8212; Used for implementing methods and accessing variables defined in an accompanied header file. This is where we will place code for view specific logic and functionality.</li>
<li>An Interface File (*.xib extension) &#8212; Used for defining the visual look of the view, using Interface Builder.</li>
</ul>
<p>In XCode, within the project area on the left, right-click on the <strong>Classes</strong> folder and select <strong>Add</strong>, then <strong>New File&#8230;</strong>. You will be presented with the following dialogue.</p>
<p style="text-align: center;"><img  title="004" src="http://gigapple.files.wordpress.com/2009/04/004.png?w=604" alt="004" class=" alignleft" /></p>
<p>Make sure you&#8217;ve selected <strong>Cocoa Touch Classes</strong> on the left and select the file template for <strong>UIViewController subclass</strong> as illustrated above, and click Next. You will be presented with a dialogue in which you will assign a name for this asset. Name this file <strong>SubViewOneController.m</strong> and make sure the checkbox for <strong>Also create &#8216;SubViewOneController.h&#8217;</strong> is checked as well. Click <strong>Finish</strong> when this is done. The dialogue should look like the following, before clicking on <strong>Finish</strong>.</p>
<p style="text-align: center;"><img  title="005" src="http://gigapple.files.wordpress.com/2009/04/005.png?w=604" alt="005" class=" alignleft" /></p>
<p>At this point, you will see two additional files in the <strong>Classes</strong> folder that we&#8217;ve just added. So far we&#8217;ve added a header file (SubViewOneController.h) and an implementation file (SubViewOneController.m), which takes care of two out of three key elements. We&#8217;ll now add the last element here before moving on towards implementation.</p>
<p>In XCode, right-click the <strong>Resources</strong> folder and select <strong>Add</strong>, then <strong>New File&#8230;</strong>. On the left, select <strong>User Interfaces</strong> and select <strong>View XIB</strong> and click next. In the next dialogue, you will give this user interface a name. Type <strong>SubViewOne.xib</strong> under File Nam&#8221; and click <strong>Finish</strong>. These steps are illustrated below.</p>
<p style="text-align: center;"><img  title="006" src="http://gigapple.files.wordpress.com/2009/04/006.png?w=604" alt="006" class=" alignleft" /></p>
<p style="text-align: center;"><img  title="007" src="http://gigapple.files.wordpress.com/2009/04/007.png?w=604" alt="007" class=" alignleft" /></p>
<p>The contents of your project window should now look similar to the illustration below.</p>
<p style="text-align: center;"><img  title="008" src="http://gigapple.files.wordpress.com/2009/04/008.png?w=478&h=393" alt="008" width="478" height="393" class=" alignleft" /></p>
<p>Open the file <strong>SubViewOneController.h</strong> and add the following code:</p>
<p><pre class="brush: csharp;">
#import &lt;UIKit/UIKit.h&gt;

@interface SubViewOneController : UIViewController {
	IBOutlet UILabel *label;
	IBOutlet UIButton *button;
}

@property (retain,nonatomic) IBOutlet UILabel *label;
@property (retain,nonatomic) IBOutlet UIButton *button;

- (IBAction) OnButtonClick:(id) sender;

@end
</pre></p>
<p>Open the file &#8220;SubViewOneController.m&#8221; and add the following code:</p>
<p><pre class="brush: csharp;">
#import "SubViewOneController.h"

@implementation SubViewOneController

@synthesize label, button;

- (id) init {
	self = [super init];
	if (self != nil) {
		// set the title of this view
		self.title = NSLocalizedString(@"Subview One", @"");
	}
	return self;
}

- (IBAction) OnButtonClick:(id) sender {
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning]; // Releases the view if it doesn't have a superview
    // Release anything that's not essential, such as cached data
}

- (void)dealloc {
    [super dealloc];
}

@end
</pre></p>
<p>What we&#8217;ve done thus far is write a bit of view controller code. In our code, we&#8217;ve declared a variable for a <code>UILabel</code> and a <code>UIButton</code>. We&#8217;ve also created a stubbed handler method for responding on the button click action. What we haven&#8217;t done yet is create a user interface to go with our view controller code. Let&#8217;s go ahead do that now.</p>
<p>In the project window, let&#8217;s expand the <strong>Resources</strong> node, and double click on the file <strong>SubViewOne.xib</strong>. You will then see Interface Builder open this file and be presented with a blank View file. In the menu bar, click on <strong>Tools</strong>, then <strong>Library</strong>. When the Library window opens, click on the <strong>Inputs &amp; Values</strong> node. The Library window will look this.</p>
<p style="text-align: center;"><img  title="009" src="http://gigapple.files.wordpress.com/2009/04/009.png?w=315&h=759" alt="009" width="315" height="759" class=" alignleft" /></p>
<p>Drag a UILabel and a UIButton such that your view mimics the following interface.</p>
<p style="text-align: center;"><img  title="010" src="http://gigapple.files.wordpress.com/2009/04/010.png?w=604" alt="010" class=" alignleft" /></p>
<p>At this point, if you have not saved and built your project, please do so by going back into XCode and clicking the <strong>Build</strong> button. If all is well, everything will build successfully. We&#8217;re not done just yet, so let&#8217;s head back to Interface Builder.</p>
<p>Highlight <strong>File&#8217;s Owner</strong> and then from the menu bar, click on <strong>Tools</strong>, then <strong>Identity Inspector</strong>. In the <strong>Class</strong> text input, type or scroll down to the menu option that says <strong>SubViewOneController</strong>. Your view properties should now look similar to the following.</p>
<p style="text-align: center;"><img  title="011" src="http://gigapple.files.wordpress.com/2009/04/011.png?w=604" alt="011" class=" alignleft" /></p>
<p>In the next steps we are going to wire up the user interface elements of the view we&#8217;ve created to the view controller we created earlier. First make sure <strong>File&#8217;s Owner</strong> is selected. In the menu bar, click on <strong>Tools</strong>, then <strong>Connections Inspector</strong>.</p>
<p>Under Outlets and Received Actions in the Connections Inspector make the following associations:</p>
<ul>
<li>Drag the &#8220;button&#8221; outlet to the button on the visual interface</li>
<li>Drag the &#8220;label&#8221; outlet to the label on the visual interface</li>
<li>Drag the &#8220;view&#8221; outlet to anywhere on the visual interface</li>
<li>Drag the &#8220;onButtonClick&#8221; action to the button on the visual interface. Select &#8220;Touch Up Inside&#8221;</li>
</ul>
<p style="text-align: center;"><img  title="012" src="http://gigapple.files.wordpress.com/2009/04/012.png?w=604" alt="012" class=" alignleft" /></p>
<p>At this point we&#8217;ve created our first sub-view, however we&#8217;re not going to be able to get to it from application just yet. That&#8217;s the next step.</p>
<p>Before moving on, go back into XCode and click on <strong>Build</strong> before moving onto the next part. Your build should compile and the results should report back successfully at this point.</p>
<h3>Navigating to a Sub-View from a UITableView</h3>
<p>The code below will do the following:</p>
<ul>
<li>Sets up an array of views and supplies that array to our UITable as a data source</li>
<li>Adds multiple sub views to our application using the sub view we&#8217;ve designed and written thus far</li>
<li>Allows us to navigate to different sub views upon view selection from our UITableView</li>
</ul>
<p>Open the file &#8220;RootViewController.h&#8221; and add the following code:</p>
<p><pre class="brush: csharp;">
#import &lt;UIKit/UIKit.h&gt;

@interface RootViewController : UITableViewController {
	IBOutlet NSMutableArray *views;
}

@property (nonatomic, retain) IBOutlet NSMutableArray *views;

@end
</pre></p>
<p>Open the file &#8220;RootViewController.m&#8221; and add the following code:</p>
<p><pre class="brush: csharp;">
#import "RootViewController.h"
#import "SubViewOneController.h"

@implementation RootViewController

@synthesize views;

- (void)awakeFromNib {
	// we'll keep track of our views in this array
	views = [ [NSMutableArray alloc] init];

	// allocate a set of views and add to our view array as a dictionary item
	SubViewOneController *subViewOneController = [[SubViewOneController alloc] init];
	subViewOneController.title = @"Subview One";
	[views addObject:[NSDictionary dictionaryWithObjectsAndKeys:
						@"Subview One",			@"title",
						subViewOneController,	@"controller",
						nil]];
	[subViewOneController release];

	subViewOneController = [[SubViewOneController alloc] init];
	subViewOneController.title = @"Subview Two";
	[views addObject:[NSDictionary dictionaryWithObjectsAndKeys:
					  @"Subview Two",			@"title",
					  subViewOneController,	@"controller",
					  nil]];
	[subViewOneController release];

	subViewOneController = [[SubViewOneController alloc] init];
	subViewOneController.title = @"Subview Three";
	[views addObject:[NSDictionary dictionaryWithObjectsAndKeys:
					  @"Subview Three",			@"title",
					  subViewOneController,	@"controller",
					  nil]];
	[subViewOneController release];

	// create a custom navigation bar button and set it to always say "Back"
	UIBarButtonItem *temporaryBarButtonItem = [[UIBarButtonItem alloc] init];
	temporaryBarButtonItem.title = @"Back";
	self.navigationItem.backBarButtonItem = temporaryBarButtonItem;
	[temporaryBarButtonItem release];

	//set the title of the main view
	self.title = @"Basic Navigation";
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning]; // Releases the view if it doesn't have a superview
    // Release anything that's not essential, such as cached data
}

#pragma mark Table view methods

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}

// Customize the number of rows in the table view.
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
    return [views count];
}

// Customize the appearance of table view cells.
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {

    static NSString *CellIdentifier = @"Cell";

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (cell == nil) {
        cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero reuseIdentifier:CellIdentifier] autorelease];
    }

    // Set up the cell...
	cell.text = [[views objectAtIndex:indexPath.row] objectForKey:@"title"];

    return cell;
}

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    // Navigation logic may go here. Create and push another view controller.
	UIViewController *targetViewController = [[views objectAtIndex: indexPath.row] objectForKey:@"controller"];
	[[self navigationController] pushViewController:targetViewController animated:YES];
}

- (void)dealloc {
	[views dealloc];
    [super dealloc];
}

@end
</pre></p>
<p>Click the &#8220;=<strong>Build and Go</strong> button in XCode. Our application thus far should now allow us to select a sub view and navigate to it. The application should look similar to the following:</p>
<p style="text-align: center;"><img  title="013" src="http://gigapple.files.wordpress.com/2009/04/013.png?w=290&h=558" alt="013" width="290" height="558" class=" alignleft" /></p>
<p style="text-align: center;"><img  title="014" src="http://gigapple.files.wordpress.com/2009/04/014.png?w=290&h=558" alt="014" width="290" height="558" class=" alignleft" /></p>
<h3>Accessing Global Application Data</h3>
<p>In an iPhone application, the Application Delegate can commonly be used to store global variables accessible by all views. You may run into a situation where a view may require data that has been modified by another view or may need to be notified of updates to this data. This piece of the tutorial will cover that very scenario. In this, we&#8217;ll be covering some key points in our code:</p>
<ul>
<li>Subscribing to central events</li>
<li>Broadcasting events globally</li>
<li>Reading/writing global application data</li>
</ul>
<p>To begin, let&#8217;s open the file <strong>BasicNavigationAppDelegate.h</strong> and add the following code.</p>
<p><pre class="brush: csharp;">
#import &lt;UIKit/UIKit.h&gt;

@interface BasicNavigationAppDelegate : NSObject &lt;UIApplicationDelegate&gt; {

	//Application Model Data
	NSString *modelData;

    UIWindow *window;
    UINavigationController *navigationController;
}

@property (nonatomic, retain) IBOutlet UIWindow *window;
@property (nonatomic, retain) IBOutlet UINavigationController *navigationController;

- (void) setModelData:(NSString *)modelData;
- (NSString *) getModelData;

@end
</pre></p>
<p>Now open <strong>BasicNavigationAppDelegate.m</strong> and add the following code.</p>
<p><pre class="brush: csharp;">
#import "BasicNavigationAppDelegate.h"
#import "RootViewController.h"

@implementation BasicNavigationAppDelegate

@synthesize window;
@synthesize navigationController;

- (void)applicationDidFinishLaunching:(UIApplication *)application {
	// Configure and show the window
	[window addSubview:[navigationController view]];
	[window makeKeyAndVisible];
}

- (void)applicationWillTerminate:(UIApplication *)application {
	// Save data if appropriate
}

// accessor methods for "data" property

- (void) setModelData:(NSString *) newData {
	modelData = newData;
	[[NSNotificationCenter defaultCenter] postNotificationName:@"dataChangeEvent" object:self];
}

- (NSString *) getModelData {
	if ( modelData == nil ) {
		modelData = @"Hello World";
	}
	return modelData;
}

- (void)dealloc {
	[navigationController release];
	[window release];
	[super dealloc];
}

@end
</pre></p>
<p>We&#8217;ve added a model variable and accessor methods to read and write to this variable. Notice on the <code>setModelData</code> method, how we have the following line <code>[[NSNotificationCenter defaultCenter] postNotificationName:@"dataChangeEvent" object:self]</code>. When this setter method is called, we will be broadcasting an event, <code>dataChangeEvent</code>, to observers of this event notification. For this application, our sub views will subscribe to this event notification.</p>
<p>Go back and open up <strong>SubViewController.h</strong> and add the following line:</p>
<p><code>- (void) getModelData;</code></p>
<p>Now open <strong>SubViewOneController.m</strong>, and update the code to look like the following:</p>
<p><pre class="brush: csharp;">
#import "SubViewOneController.h"
#import "BasicNavigationAppDelegate.h"

@implementation SubViewOneController

@synthesize label, button;

- (id) init {
	self = [super init];
	if (self != nil)
	{
		// subscribe to changes on global data and course of action to take
		[[NSNotificationCenter defaultCenter]
		 addObserver:self
		 selector:@selector(onDataChangeEvent:)
		 name:@"dataChangeEvent"
		 object:nil];
	}
	return self;

}

- (IBAction) OnButtonClick:(id) sender {
	// this view will set our model data
	BasicNavigationAppDelegate *appDelegate =
	(BasicNavigationAppDelegate *)[[UIApplication sharedApplication] delegate];
	NSString *displayString = [NSString stringWithFormat: @"Set By %@", [self title]];
	[appDelegate setModelData:displayString];
}

- (void)onDataChangeEvent:(id) sender {
	[self getModelData];
}

-(void)viewWillAppear:(BOOL)animated {
	[self getModelData];
}

// set our label to reflect the latest copy of the data that we're observing
- (void) getModelData {
	BasicNavigationAppDelegate *appDelegate =
	(BasicNavigationAppDelegate *)[[UIApplication sharedApplication] delegate];
	[label setText:[appDelegate getModelData] ];
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning]; // Releases the view if it doesn't have a superview
    // Release anything that's not essential, such as cached data
}

- (void)dealloc {
    [super dealloc];
}

@end
</pre></p>
<p>Let&#8217;s note the relevant things that are going on here:</p>
<ul>
<li>The view subscribes to the <code>dataChangeEvent</code> on the <code>init</code> method. When the <code>dataChangeEvent</code> is fired, the method <code>onDataChangeEvent</code> is triggered and executed.</li>
<li>On Button click, we will be setting the the model data located in our application delegate. Remember, that in our implementation, whenever that variable is set, the <code>OnDataChangeEvent</code> is fired and all observers of that event will respond to it</li>
</ul>
<p>Here&#8217;s how we know that our sub views are operating off the same global data.</p>
<ul>
<li>Click on Sub View One, then click the button in that view. You&#8217;ll notice the label will change to &#8220;Set By Subview One&#8221;</li>
<li>Click &#8220;back&#8221;, then click on Sub View Two. Notice the label says &#8220;Set By Subview One&#8221;</li>
<li>Click the button, the label should change in Sub View Two to &#8220;Set By Subview Two&#8221;</li>
<li>Click &#8220;back, then click on Sub View Three. Notice the label says &#8220;Set By Subview Two&#8221;</li>
</ul>
<p>Do you notice what&#8217;s happening here? Our data is persisting across views and this data can be read and set by any of our sub views. What we&#8217;ve demonstrated here are some very basic practices in model-view-control design and implementation. I hope this lesson carries well for you. Happy coding.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172588+iphone-dev-sessions-create-a-navigation-based-application&utm_content=leekuens">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/11/connected-world-the-consumer-technology-revolution/?utm_medium=editorial&amp;utm_campaign=waterfall?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172588+iphone-dev-sessions-create-a-navigation-based-application&utm_content=leekuens">Connected world: the consumer technology&nbsp;revolution</a></li><li><a href="http://pro.gigaom.com/2012/04/survey-enterprise-mobility-perceptions-among-it-decision-makers/?utm_medium=editorial&amp;utm_campaign=waterfall?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172588+iphone-dev-sessions-create-a-navigation-based-application&utm_content=leekuens">Survey: the next wave of enterprise&nbsp;mobility</a></li><li><a href="http://pro.gigaom.com/2012/02/forecasting-the-tablet-market-over-366-million-units-by-2016/?utm_medium=editorial&amp;utm_campaign=waterfall?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=172588+iphone-dev-sessions-create-a-navigation-based-application&utm_content=leekuens">Tablet market to hit over 377 million units by&nbsp;2016</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=172588&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/iphone-dev-sessions-create-a-navigation-based-application/feed/</wfw:commentRss>
		<slash:comments>96</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a02edd843b0512456df0ace0b521f8ba?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">Keun</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/04/001.png" medium="image">
			<media:title type="html">001</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/04/002.png" medium="image">
			<media:title type="html">002</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/04/003.png" medium="image">
			<media:title type="html">003</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/04/004.png" medium="image">
			<media:title type="html">004</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/04/005.png" medium="image">
			<media:title type="html">005</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/04/006.png" medium="image">
			<media:title type="html">006</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/04/007.png" medium="image">
			<media:title type="html">007</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/04/008.png" medium="image">
			<media:title type="html">008</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/04/009.png" medium="image">
			<media:title type="html">009</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/04/010.png" medium="image">
			<media:title type="html">010</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/04/011.png" medium="image">
			<media:title type="html">011</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/04/012.png" medium="image">
			<media:title type="html">012</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/04/013.png" medium="image">
			<media:title type="html">013</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/04/014.png" medium="image">
			<media:title type="html">014</media:title>
		</media:content>
	</item>
	</channel>
</rss>
