<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8375954279965878739</id><updated>2012-01-04T02:21:49.620-06:00</updated><title type='text'>iPhone Programming Tutor</title><subtitle type='html'>A blog to further your knowledge of iPhone and iPod Touch development for the App Store.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://iphoneproghelp.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8375954279965878739/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://iphoneproghelp.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Eric Busch</name><uri>http://www.blogger.com/profile/15884638930103506000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8375954279965878739.post-2439089312695692195</id><published>2009-01-21T12:28:00.002-06:00</published><updated>2009-01-21T12:33:44.682-06:00</updated><title type='text'>Developers, developers, developers, developers...</title><content type='html'>It seems like the seminar I went to yesterday was fairly far below my level.  The man presenting did a very nice job but it was all stuff I was doing almost a year ago, now...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;He showed how to use Dashcode to make webapps and he showed XCode and some cool things with native apps.  Unfortunately, the rest of the room wasn't necessarily right for this presentation, either.  There were questions directed towards him like "How can we use flash?" or "I know python, how can I use that to create an iPhone app?"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hopefully that session doesn't turn into 20 more people creating a 99 cent flashlight or tip calculator.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I'll try to be on to post more about whatever topics come to mind, but for now, everyone should check out this game called "Blackout"  It's only 99 cents and it's a highly addictive puzzle game.  &lt;a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=302823409&amp;amp;mt=8"&gt;Here's the link.&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8375954279965878739-2439089312695692195?l=iphoneproghelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphoneproghelp.blogspot.com/feeds/2439089312695692195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphoneproghelp.blogspot.com/2009/01/developers-developers-developers.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8375954279965878739/posts/default/2439089312695692195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8375954279965878739/posts/default/2439089312695692195'/><link rel='alternate' type='text/html' href='http://iphoneproghelp.blogspot.com/2009/01/developers-developers-developers.html' title='Developers, developers, developers, developers...'/><author><name>Eric Busch</name><uri>http://www.blogger.com/profile/15884638930103506000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8375954279965878739.post-4580518158088357431</id><published>2009-01-20T12:31:00.002-06:00</published><updated>2009-01-20T12:35:15.376-06:00</updated><title type='text'>It's been a while</title><content type='html'>Hello again everyone.&lt;div&gt;&lt;br /&gt;&lt;div&gt;Sorry it's been a while since I last posted, but recently I've been moving back to school, starting classes, working on a fairly large update to one of my apps, talking to a company about possible contract work for the iPhone, and trying to find some free time in there is not as easy as you might think. :) &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, I'm going to be working on a few things here for the next couple hours, and then I will be attending a session here at my university on iPhone Development.  I'll be sure to pass along anything that seems helpful or lesser-known.  Hopefully they cover at least one or two areas I might not know as much about.  We'll see just how much they can cover in 2.5 hours...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you would like to see any topics covered, leave a comment or shoot me an email (buschmaster@gmail.com works just fine)&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8375954279965878739-4580518158088357431?l=iphoneproghelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphoneproghelp.blogspot.com/feeds/4580518158088357431/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphoneproghelp.blogspot.com/2009/01/its-been-while.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8375954279965878739/posts/default/4580518158088357431'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8375954279965878739/posts/default/4580518158088357431'/><link rel='alternate' type='text/html' href='http://iphoneproghelp.blogspot.com/2009/01/its-been-while.html' title='It&apos;s been a while'/><author><name>Eric Busch</name><uri>http://www.blogger.com/profile/15884638930103506000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8375954279965878739.post-456449858175310926</id><published>2008-12-31T11:01:00.002-06:00</published><updated>2008-12-31T11:04:44.228-06:00</updated><title type='text'>Another resource</title><content type='html'>I'd like to make sure everyone knows about another blog that's out there doing things similar to this one.  It is located at: &lt;a href="http://www.uchidacoonga.com/"&gt;uchidacoonga.com&lt;/a&gt;.  Any developer should read as many blogs like this as possible, if nothing else it can be a helpful reminder and you may learn some things about the areas you aren't quite as experience in.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Don't forget about the blog we mentioned a couple days ago either: &lt;a href="http://iphonedevelopment.blogspot.com/"&gt;iPhone Development&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also, hopefully you're using Safari or Firefox if you're browsing this blog, so feel free to subscribe to our RSS so you know when we post updates!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8375954279965878739-456449858175310926?l=iphoneproghelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphoneproghelp.blogspot.com/feeds/456449858175310926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphoneproghelp.blogspot.com/2008/12/another-resource.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8375954279965878739/posts/default/456449858175310926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8375954279965878739/posts/default/456449858175310926'/><link rel='alternate' type='text/html' href='http://iphoneproghelp.blogspot.com/2008/12/another-resource.html' title='Another resource'/><author><name>Eric Busch</name><uri>http://www.blogger.com/profile/15884638930103506000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8375954279965878739.post-7730963527278797765</id><published>2008-12-30T21:25:00.007-06:00</published><updated>2008-12-30T21:45:47.952-06:00</updated><title type='text'>Interface Builder 101: An Overview</title><content type='html'>Interface Builder can be a valuable tool in any developers toolbox when used properly.  It can make creating complex user interfaces as easy as a drag and drop, instead of many lines of code.  In this tutorial we will create a simple application using Interface Builder that has a button and a label, when the button is touched text will be displayed in the label.&lt;br /&gt;&lt;br /&gt;The first thing we will do is create a new Window based application in Xcode, lets call it "IBPractice."  In the project window double click MainWindow.xib to open it with Interface Builder.  From the Library drag a UIButton and a UILabel into your Window.  &lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://2.bp.blogspot.com/_DDS4X1q6fUo/SVrpQriXD2I/AAAAAAAAAAw/WXFQADXeYP8/s320/library.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5285793585446719330" style="cursor: pointer; width: 162px; height: 320px; " /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We should probably resize the label to make sure our text shows without being truncated.  To do this click on the label to show its borders, which are represented with a series of points, and drag them to make the label larger.  Move to the Inspector to set the alignment of the label to center and to have no text.  This is what we want our Inspector to look like:&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://3.bp.blogspot.com/_DDS4X1q6fUo/SVrpRMbaFbI/AAAAAAAAABQ/ElBfAlFdFm8/s320/labelsettings.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5285793594275927474" style="cursor: pointer; width: 162px; height: 320px; " /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now double-click on the button and set its title to “Show Text” by simply typing it in and pressing enter.&lt;div&gt;&lt;br /&gt;Now click somewhere in the view that is not the label or button.  Now in the Inspector click the “i” button.  &lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://3.bp.blogspot.com/_DDS4X1q6fUo/SVrpQ3fPgzI/AAAAAAAAABI/WZ7lZ-n5DOk/s320/ibutton.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5285793588654867250" style="cursor: pointer; width: 73px; height: 28px; " /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Under “Class Identity” in the text box enter MainView.  This will later become a class file.  Under “Class Actions” click the “+” and make a new action, call it “showText.”  Then under “Class Outlets” click the “+” to add two outlets.  Outlets are what lets xcode and interface builder know what objects we are talking about.  Name the first outlet “theButton” with a type of “UIButton” and the second type “theLabel” with a type of “UILabel.”  We should have the following now:&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://4.bp.blogspot.com/_DDS4X1q6fUo/SVrpQ3pUY-I/AAAAAAAAABA/XtjDDXI3-Ps/s320/idone.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5285793588697129954" style="cursor: pointer; width: 162px; height: 320px; " /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Now we must move to the Connections tab in the Inspector window.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;img src="http://3.bp.blogspot.com/_DDS4X1q6fUo/SVrpQikULCI/AAAAAAAAAA4/Cv-gp2V3dF0/s320/connections.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5285793583038999586" style="cursor: pointer; width: 74px; height: 28px; " /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is where we will tell Interface Builder what outlet is connected to what object.  Click and drag the circle to the right of “theLabel” into our UILabel in the view window.  This tells Interface Builder that anytime we call “theLabel” in our code that we want to do things to that UILabel.  Now click and drag the circle to the right of “showText” into our button.  This will bring up a menu of options, we want to select “Touch Down.”  Each of these options require a different touch to initiate the action.  Touch Down says that as soon as the object is touched to fire the action associated with it, in this case, that action is “showText.”  Now we have one last thing to do in Interface Builder before heading back to Xcode.&lt;br /&gt;&lt;br /&gt;Select File -&gt; Write Class Files.  Be sure to have “Create '.h' file” checked, then save.  Then click the check box next to IBPractice and select Add.&lt;br /&gt;&lt;br /&gt;It is now time to return to Xcode.  In Xcode open MainView.h and replace your @interface line with&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span"   style="color: rgb(51, 51, 51);   font-family:'Trebuchet MS';font-size:13px;"&gt;&lt;p style="color: rgb(51, 51, 51); margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "&gt;&lt;span style="color: rgb(170, 13, 145); "&gt;@interface&lt;/span&gt; MainView : UIView {&lt;/p&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;This tells Xcode that MainView is a subclass of UIView.&lt;br /&gt;&lt;br /&gt;Now move to the MainView.m file.  Within the brackets of – (IBAction)showText is where we will create our code to make things work.  We will tell our program to display “Hello World” within our label.  To do this add the following line of code:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span"   style="color: rgb(51, 51, 51);   font-family:'Trebuchet MS';font-size:13px;"&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(196, 26, 22); "&gt;&lt;span style="color: rgb(63, 110, 116); "&gt;theLabel&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); "&gt;.&lt;/span&gt;&lt;span style="color: rgb(92, 38, 153); "&gt;text&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); "&gt; = &lt;/span&gt;@"Hello World"&lt;span style="color: rgb(0, 0, 0); "&gt;;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(196, 26, 22); "&gt;&lt;span class="Apple-style-span"  style="color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;/blockquote&gt;And that is all!  We have created a very basic interface using Interface Builder.  Using what you learned here you should be able to make much more complex interfaces.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The source code for this tutorial can be downloaded &lt;a href="http://www.1026development.com/IBPractice.zip"&gt;here&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8375954279965878739-7730963527278797765?l=iphoneproghelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphoneproghelp.blogspot.com/feeds/7730963527278797765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphoneproghelp.blogspot.com/2008/12/interface-builder-101-overview.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8375954279965878739/posts/default/7730963527278797765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8375954279965878739/posts/default/7730963527278797765'/><link rel='alternate' type='text/html' href='http://iphoneproghelp.blogspot.com/2008/12/interface-builder-101-overview.html' title='Interface Builder 101: An Overview'/><author><name>Jeremy Curcio</name><uri>http://www.blogger.com/profile/11302801610776058549</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_DDS4X1q6fUo/SVrpQriXD2I/AAAAAAAAAAw/WXFQADXeYP8/s72-c/library.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8375954279965878739.post-8557876495667476035</id><published>2008-12-29T23:58:00.004-06:00</published><updated>2008-12-30T00:45:44.835-06:00</updated><title type='text'>UITableView Part III</title><content type='html'>We may take a break after this look at the UITableView and how to drill-down, but with these three sections on UITableViews down you should have a very strong understanding of how the UITableView Controller works.  So we will open up our code from the last part again and get right into it.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This section will cover how to drill-down.  There are three main things to understand when learning to drill down.&lt;/div&gt;&lt;div&gt;-Handling which row was touched&lt;/div&gt;&lt;div&gt;-Setting something to be an identifier in the next level so we know which one was selected there as well&lt;/div&gt;&lt;div&gt;-Pushing that view onto the stack&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The first thing we will have to do is create a new UITableViewController class, so select File -&gt; New and grab a UITableViewController.  I named mine "SecondLevelController."  In the .h of the new file we will add a property of an NSString.  This will be:&lt;/div&gt;&lt;div&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span style="color:#5c2699;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;span style="color:#5c2699;"&gt;NSString&lt;/span&gt; *myTitle;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;And:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#aa0d91;"&gt;&lt;/p&gt;&lt;blockquote&gt;@property&lt;span style="color:#000000;"&gt; (&lt;/span&gt;copy&lt;span style="color:#000000;"&gt;, &lt;/span&gt;readwrite&lt;span style="color:#000000;"&gt;) &lt;/span&gt;&lt;span style="color:#5c2699;"&gt;NSString&lt;/span&gt;&lt;span style="color:#000000;"&gt; *myTitle;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#aa0d91;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#aa0d91;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;Just as we have in the past.  Also, make sure to synthesize it!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#aa0d91;"&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 0);  font-family:Georgia;font-size:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#aa0d91;"&gt;&lt;/p&gt;&lt;blockquote&gt;@synthesize&lt;span style="color:#000000;"&gt; myTitle;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#aa0d91;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p color="#aa0d91" style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; "&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;Beyond that all we will do for now is make sure viewDidLoad holds:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p color="#aa0d91" style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; "&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 0);  font-family:Georgia;font-size:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span style="color:#aa0d91;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;span style="color:#aa0d91;"&gt;self&lt;/span&gt;.title = &lt;span style="color:#3f6e74;"&gt;myTitle&lt;/span&gt;;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;That's all for now, since this is just a simple example of this.  We'll go back into the RootViewController class.  Remember to add this up by the other imports:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#c41a16;"&gt;&lt;span style="color:#643820;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;span style="color:#643820;"&gt;#import &lt;/span&gt;"SecondLevelController.h"&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #c41a16"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;Now, we'll handle the selection of the row.  Remember from before?  There was this class for us:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;- (&lt;span style="color:#aa0d91;"&gt;void&lt;/span&gt;)tableView:(&lt;span style="color:#5c2699;"&gt;UITableView&lt;/span&gt; *)tableView didSelectRowAtIndexPath:(&lt;span style="color:#5c2699;"&gt;NSIndexPath&lt;/span&gt; *)indexPath&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;Well, we'll be using this to handle the selection, so we can add a few lines of basic code.  Here's how I have mine setup:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;- (&lt;span style="color:#aa0d91;"&gt;void&lt;/span&gt;)tableView:(&lt;span style="color:#5c2699;"&gt;UITableView&lt;/span&gt; *)tableView didSelectRowAtIndexPath:(&lt;span style="color:#5c2699;"&gt;NSIndexPath&lt;/span&gt; *)indexPath {&lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#2e0d6e;"&gt;&lt;span style="color:#000000;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;[tableView &lt;/span&gt;deselectRowAtIndexPath&lt;span style="color:#000000;"&gt;:indexPath &lt;/span&gt;animated&lt;span style="color:#000000;"&gt;:&lt;/span&gt;&lt;span style="color:#aa0d91;"&gt;YES&lt;/span&gt;&lt;span style="color:#000000;"&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#3f6e74;"&gt;&lt;span style="color:#000000;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/span&gt;SecondLevelController&lt;span style="color:#000000;"&gt; *anotherViewController = [[&lt;/span&gt;SecondLevelController&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#2e0d6e;"&gt;alloc&lt;/span&gt;&lt;span style="color:#000000;"&gt;] &lt;/span&gt;&lt;span style="color:#2e0d6e;"&gt;initWithStyle&lt;/span&gt;&lt;span style="color:#000000;"&gt;:&lt;/span&gt;&lt;span style="color:#2e0d6e;"&gt;UITableViewStylePlain&lt;/span&gt;&lt;span style="color:#000000;"&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;anotherViewController.&lt;span style="color:#3f6e74;"&gt;myTitle&lt;/span&gt; = [tableView &lt;span style="color:#2e0d6e;"&gt;cellForRowAtIndexPath&lt;/span&gt;:indexPath].&lt;span style="color:#5c2699;"&gt;text&lt;/span&gt;;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;[&lt;span style="color:#aa0d91;"&gt;self&lt;/span&gt;.&lt;span style="color:#3f6e74;"&gt;navigationController&lt;/span&gt; &lt;span style="color:#2e0d6e;"&gt;pushViewController&lt;/span&gt;:anotherViewController &lt;span style="color:#2e0d6e;"&gt;animated&lt;/span&gt;:&lt;span style="color:#aa0d91;"&gt;YES&lt;/span&gt;];&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;[anotherViewController &lt;span style="color:#2e0d6e;"&gt;release&lt;/span&gt;];&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;}&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;What is being done here is the same row is being deselected as before.  This doesn't cancel the selection, or anything, all it does is drops the blue color on the background of the cell.  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;Then it creates the next view controller, and sets its myTitle property.  The reason I did this was to show an example of how we can use indexPath and a property to make sure the next level of our drill down has the unique attribute it needs.  Then we push the view controller onto the stack.  When you run this you'll see it's how we want it.  The title is set with whatever you select in the list.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;Here's the source code of up until this part: &lt;a href="http://nickelback-forum.com/tutorials/TableViewPracticePart3.zip"&gt;Download Source Code for UITableView Part III&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;While I won't go too far into depth I can explain briefly another practical use of this.  One method I have used is to keep my entire drill-down navigation in an NSArray.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;If I were to have an organization of something such as the NFL we might have something like:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;-Divisions&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;--Teams&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;---Players&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;What I would do is have the NSArray hold the divisions which would be stored as an NSDictionary each.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;The NSDictionary would have fields such as "Name" (String), "Teams" (Array of type NSDictionary), and "Conference" (String)&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;The "Teams" are the next level of navigation, which would have the fields such as "Name" (String) and "Players" (Array of type NSDictionary)&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;This may be difficult to understand with only words, but through the use of the ideas from above you could definitely create a drill-down of your own with your needed implementation.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8375954279965878739-8557876495667476035?l=iphoneproghelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphoneproghelp.blogspot.com/feeds/8557876495667476035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphoneproghelp.blogspot.com/2008/12/uitableview-part-iii.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8375954279965878739/posts/default/8557876495667476035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8375954279965878739/posts/default/8557876495667476035'/><link rel='alternate' type='text/html' href='http://iphoneproghelp.blogspot.com/2008/12/uitableview-part-iii.html' title='UITableView Part III'/><author><name>Eric Busch</name><uri>http://www.blogger.com/profile/15884638930103506000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8375954279965878739.post-3903252457011322899</id><published>2008-12-29T22:12:00.006-06:00</published><updated>2008-12-29T23:40:44.958-06:00</updated><title type='text'>UITableView Part II</title><content type='html'>&lt;blockquote&gt;&lt;/blockquote&gt;Let's keep the ball rolling on that UITableView.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Before I get started... I'm going to assume you understand all the points from the first part, or you are using the same code to follow along this time.  If you need to, post a comment and I'll be glad to help you with any specific areas in the first part of the UITableView stuff we will be covering.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This one will cover the editing modes of our UITableView.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Luckily for us, Apple has once again made this very easy on us.  You will notice near the top of our RootViewController commented out we have a viewDidLoad class.  We can get rid of that comment because we want to use it now.  Also, remove the comment before the last line of it so we have our editing button.  We can also add a title here.  A title should always be used in our UITableView so people know what they're looking at.  It's very easy and quick to add, so we hardly have any excuses.  We can simply add this:&lt;/div&gt;&lt;div&gt;&lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#c41a16;"&gt;&lt;span style="color:#aa0d91;"&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;blockquote&gt;self.title = @"Table Testing!";&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 0);   font-family:Georgia;font-size:16px;"&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 0);  font-family:Georgia;font-size:16px;"&gt;So what we have for that section is:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#c41a16;"&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 0);  font-family:Georgia;font-size:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;- (&lt;span style="color:#aa0d91;"&gt;void&lt;/span&gt;)viewDidLoad {&lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#2e0d6e;"&gt;&lt;span style="color:#000000;"&gt;    [&lt;/span&gt;&lt;span style="color:#aa0d91;"&gt;super&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;viewDidLoad&lt;span style="color:#000000;"&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#c41a16;"&gt;&lt;span style="color:#000000;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;   &lt;/span&gt;&lt;span style="color:#aa0d91;"&gt;self&lt;/span&gt;&lt;span style="color:#000000;"&gt;.title = &lt;/span&gt;@"Table Testing!"&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#007400;"&gt;&lt;span style="color:#000000;"&gt;    &lt;/span&gt;// Uncomment the following line to display an Edit button in the navigation bar for this view controller.&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;    &lt;span style="color:#aa0d91;"&gt;self&lt;/span&gt;.navigationItem.rightBarButtonItem = &lt;span style="color:#aa0d91;"&gt;self&lt;/span&gt;.editButtonItem;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;}&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style="  ;font-family:Georgia;font-size:16px;"&gt; Already we should be seemingly close to our desired effect.  Visually it would seem so if you choose to run it now.  I ran it in the simulator and it looks like this:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;img style="text-align: center;float: left; margin-top: 0px; margin-right: 10px; margin-bottom: 10px; margin-left: 0px; cursor: pointer; width: 172px; height: 320px; " src="http://1.bp.blogspot.com/_smWrM465wSY/SVmjrnz35II/AAAAAAAAAB4/YHb-_OVJcFw/s320/Picture+9.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5285435607512245378" /&gt;&lt;/p&gt;&lt;p style="text-align: center;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="text-align: center;margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;Even though visually it would seem as though we are very close to our goal, that wouldn't happen to be the case just yet as we have almost all of our programming yet to do.  For now, we'll hop back to the app delegate so we can create a couple support methods.  We'll need to be able to remove items as well as move items to fully show the UITableView editing experience.  So that will basically require two methods.  I'll call them removeFromList and moveFromOriginal: toNew:.  So in the TableViewPraticeAppDelegate.h they will be:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;-(&lt;span style="color:#aa0d91;"&gt;void&lt;/span&gt;) removeFromList:(&lt;span style="color:#5c2699;"&gt;NSInteger&lt;/span&gt;)index;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;-(&lt;span style="color:#aa0d91;"&gt;void&lt;/span&gt;) moveFromOriginal:(&lt;span style="color:#5c2699;"&gt;NSInteger&lt;/span&gt;)indexOriginal toNew:(&lt;span style="color:#5c2699;"&gt;NSInteger&lt;/span&gt;)indexNew;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;And these can be added before or after the -(void) createArray;  Order doesn't matter in these cases.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;Here is my implementation for the removal from the list:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;-(&lt;span style="color:#aa0d91;"&gt;void&lt;/span&gt;) removeFromList:(&lt;span style="color:#5c2699;"&gt;NSInteger&lt;/span&gt;)index { &lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#5c2699;"&gt;&lt;span style="color:#000000;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    &lt;/span&gt;NSMutableArray&lt;span style="color:#000000;"&gt; *tempArray = [[&lt;/span&gt;NSMutableArray&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#2e0d6e;"&gt;alloc&lt;/span&gt;&lt;span style="color:#000000;"&gt;] &lt;/span&gt;&lt;span style="color:#2e0d6e;"&gt;initWithArray&lt;/span&gt;&lt;span style="color:#000000;"&gt;:&lt;/span&gt;&lt;span style="color:#3f6e74;"&gt;theArray&lt;/span&gt;&lt;span style="color:#000000;"&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;[tempArray &lt;span style="color:#2e0d6e;"&gt;removeObjectAtIndex&lt;/span&gt;:index];&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;     &lt;span style="color:#3f6e74;"&gt;theArray&lt;/span&gt; = tempArray;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;}&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;This can be done a great number of ways, but I decided to go with this route.  Another fairly simple option would be making theArray an NSMutableArray for ease of use, but I like using an NSArray when possible.  What I am doing is creating a new array with the same objects and then removing the object we no longer need from that list and resetting our "theArray" as the correct array.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;My implementation for the moving items on the list is very similar:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;-(&lt;span style="color:#aa0d91;"&gt;void&lt;/span&gt;) moveFromOriginal:(&lt;span style="color:#5c2699;"&gt;NSInteger&lt;/span&gt;)indexOriginal toNew:(&lt;span style="color:#5c2699;"&gt;NSInteger&lt;/span&gt;)indexNew {&lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#5c2699;"&gt;&lt;span style="color:#000000;"&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/span&gt;NSMutableArray&lt;span style="color:#000000;"&gt; *tempArray = [[&lt;/span&gt;NSMutableArray&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#2e0d6e;"&gt;alloc&lt;/span&gt;&lt;span style="color:#000000;"&gt;] &lt;/span&gt;&lt;span style="color:#2e0d6e;"&gt;initWithArray&lt;/span&gt;&lt;span style="color:#000000;"&gt;:&lt;/span&gt;&lt;span style="color:#3f6e74;"&gt;theArray&lt;/span&gt;&lt;span style="color:#000000;"&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;span style="color:#aa0d91;"&gt;id&lt;/span&gt; tempObject = [tempArray &lt;span style="color:#2e0d6e;"&gt;objectAtIndex&lt;/span&gt;:indexOriginal];&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;    &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;[tempArray &lt;span style="color:#2e0d6e;"&gt;removeObjectAtIndex&lt;/span&gt;:indexOriginal];&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    [tempArray &lt;span style="color:#2e0d6e;"&gt;insertObject&lt;/span&gt;:tempObject &lt;span style="color:#2e0d6e;"&gt;atIndex&lt;/span&gt;:indexNew];&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    &lt;span style="color:#3f6e74;"&gt;theArray&lt;/span&gt; = tempArray;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;}&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;This will grab the temporary object (i.e. the object which is moving) so we can remove it from the list and then add it back in where we now want it.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;That will handle that end of things, so now we just need to edit two methods that already exist in the RootViewController.  Towards the bottom you will see commented out:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;blockquote&gt;- (&lt;span style="color:#aa0d91;"&gt;void&lt;/span&gt;)tableView:(&lt;span style="color:#5c2699;"&gt;UITableView&lt;/span&gt; *)tableView commitEditingStyle:(&lt;span style="color:#5c2699;"&gt;UITableViewCellEditingStyle&lt;/span&gt;)editingStyle forRowAtIndexPath:(&lt;span style="color:#5c2699;"&gt;NSIndexPath&lt;/span&gt; *)indexPath&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;Get rid of those comments, and we can use some pre-existing code along with simply calling our methods we just created.  Our end result will be this:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;- (&lt;span style="color:#aa0d91;"&gt;void&lt;/span&gt;)tableView:(&lt;span style="color:#5c2699;"&gt;UITableView&lt;/span&gt; *)tableView commitEditingStyle:(&lt;span style="color:#5c2699;"&gt;UITableViewCellEditingStyle&lt;/span&gt;)editingStyle forRowAtIndexPath:(&lt;span style="color:#5c2699;"&gt;NSIndexPath&lt;/span&gt; *)indexPath {&lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#3f6e74;"&gt;&lt;span style="color:#000000;"&gt;    &lt;/span&gt;TableViewPracticeAppDelegate&lt;span style="color:#000000;"&gt; *appDelegate = [[&lt;/span&gt;&lt;span style="color:#5c2699;"&gt;UIApplication&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#2e0d6e;"&gt;sharedApplication&lt;/span&gt;&lt;span style="color:#000000;"&gt;] &lt;/span&gt;&lt;span style="color:#2e0d6e;"&gt;delegate&lt;/span&gt;&lt;span style="color:#000000;"&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#2e0d6e;"&gt;&lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#aa0d91;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt; (editingStyle == &lt;/span&gt;UITableViewCellEditingStyleDelete&lt;span style="color:#000000;"&gt;) {&lt;/span&gt;&lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#007400;"&gt;&lt;span style="color:#000000;"&gt;        &lt;/span&gt;// Delete the row from the data source&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;[appDelegate &lt;span style="color:#26474b;"&gt;removeFromList&lt;/span&gt;:indexPath.&lt;span style="color:#2e0d6e;"&gt;row&lt;/span&gt;];&lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#2e0d6e;"&gt;&lt;span style="color:#000000;"&gt;        [tableView &lt;/span&gt;deleteRowsAtIndexPaths&lt;span style="color:#000000;"&gt;:[&lt;/span&gt;&lt;span style="color:#5c2699;"&gt;NSArray&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;arrayWithObject&lt;span style="color:#000000;"&gt;:indexPath] &lt;/span&gt;withRowAnimation&lt;span style="color:#000000;"&gt;:&lt;/span&gt;&lt;span style="color:#aa0d91;"&gt;YES&lt;/span&gt;&lt;span style="color:#000000;"&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;    }   &lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#2e0d6e;"&gt;&lt;span style="color:#000000;"&gt;    &lt;/span&gt;&lt;span style="color:#aa0d91;"&gt;else&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#aa0d91;"&gt;if&lt;/span&gt;&lt;span style="color:#000000;"&gt; (editingStyle == &lt;/span&gt;UITableViewCellEditingStyleInsert&lt;span style="color:#000000;"&gt;) {&lt;/span&gt;&lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#007400;"&gt;&lt;span style="color:#000000;"&gt;        &lt;/span&gt;// Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;    }   &lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;}&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;As you can see I have once again called the appDelegate and will be using that to call the removeFromList we just created.  Make sure you add the .row after indexPath, otherwise your program will crash and burn like a Zeppelin filled with a highly flammable gas.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;We can use a similar approach for moving, once again, here is my class once the comments were removed for that as well:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;- (&lt;span style="color:#aa0d91;"&gt;void&lt;/span&gt;)tableView:(&lt;span style="color:#5c2699;"&gt;UITableView&lt;/span&gt; *)tableView moveRowAtIndexPath:(&lt;span style="color:#5c2699;"&gt;NSIndexPath&lt;/span&gt; *)fromIndexPath toIndexPath:(&lt;span style="color:#5c2699;"&gt;NSIndexPath&lt;/span&gt; *)toIndexPath {&lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#3f6e74;"&gt;&lt;span style="color:#000000;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/span&gt;TableViewPracticeAppDelegate&lt;span style="color:#000000;"&gt; *appDelegate = [[&lt;/span&gt;&lt;span style="color:#5c2699;"&gt;UIApplication&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#2e0d6e;"&gt;sharedApplication&lt;/span&gt;&lt;span style="color:#000000;"&gt;] &lt;/span&gt;&lt;span style="color:#2e0d6e;"&gt;delegate&lt;/span&gt;&lt;span style="color:#000000;"&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;[appDelegate &lt;span style="color:#26474b;"&gt;moveFromOriginal&lt;/span&gt;:fromIndexPath.row &lt;span style="color:#26474b;"&gt;toNew&lt;/span&gt;:toIndexPath.&lt;span style="color:#2e0d6e;"&gt;row&lt;/span&gt;];&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;}&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Monaco;font-size:10px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Monaco;font-size:10px;"&gt;&lt;span class="Apple-style-span"   style="  ;font-family:'times new roman';font-size:16px;"&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;So this one will once again use the indexPath.row idea to pass along the actual row number we are in.  With both of these methods created the only thing left to do is make sure to remove the comments surrounding:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;blockquote&gt;- (&lt;span style="color:#aa0d91;"&gt;BOOL&lt;/span&gt;)&lt;span style="color:#2e0d6e;"&gt;tableView&lt;/span&gt;:(&lt;span style="color:#5c2699;"&gt;UITableView&lt;/span&gt; *)tableView canMoveRowAtIndexPath:(&lt;span style="color:#5c2699;"&gt;NSIndexPath&lt;/span&gt; *)indexPath&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;We want all areas to be movable, so we will leave this at straight forward return YES;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;Since it's boring to be playing with two rows, I went back and added a bit more to my NSArray I was creating.  I made it originally have the objects "Hello", "World", "How", "You?", "Are" and then moved it around to create the sentence I wanted and then removed world to create a simple "Hello How Are You?" sentence.  This will give you a much better feeling of playing around with an editable UITableView.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;Your editable UITableView should function just fine, no matter what you throw at it.  But what you may notice is if you close the application and then launch it again later, the list will be as it was originally.  You may not want this to happen, so as I introduced the App Delegate and its purposes and a possible use in the last section, I will introduce NSUserDefaults in this one.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;NSUserDefaults can store information for your application beyond just when it is open.  So while the app delegate was very useful when dealing with information what was currently running, we can use NSUserDefaults to keep that information safe while we're not running the application.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;Note: There are many other methods in storing information, this is only one and you should not live and die by only one method of storing information.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;We can do all of these changes within the delegate's .m file.  First off, we need to store the information when the application is closing.  Find:&lt;span class="Apple-style-span"   style="  ;font-family:Monaco;font-size:10px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;&lt;span class="Apple-style-span"   style="  ;font-family:Monaco;font-size:10px;"&gt;&lt;blockquote&gt;- (&lt;span style="color:#aa0d91;"&gt;void&lt;/span&gt;)applicationWillTerminate:(&lt;span style="color:#5c2699;"&gt;UIApplication&lt;/span&gt; *)application&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;Inside of this we can put things we want to happen if the user closes the application.  So naturally this would be the easiest way to store the information each time we're done editing our list.  We do that by first calling the NSUserDefaults, which is again very easy:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;blockquote&gt;NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;This will get the NSUserDefaults for us and what's important to know is that this works similar to an NSDictionary, not an NSArray.  So we can set things as values for keys, rather than putting in an object at an index.  So we can store the array as "lastArray" by putting in:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#2e0d6e;"&gt;&lt;span style="color:#000000;"&gt;[defaults &lt;/span&gt;setObject&lt;span style="color:#000000;"&gt;:&lt;/span&gt;&lt;span style="color:#3f6e74;"&gt;theArray&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;forKey&lt;span style="color:#000000;"&gt;:&lt;/span&gt;&lt;span style="color:#c41a16;"&gt;@"lastArray"&lt;/span&gt;&lt;span style="color:#000000;"&gt;];&lt;/span&gt;&lt;/p&gt;&lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#2e0d6e;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#2e0d6e;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;Seems simple enough, now we just need to check for it when our application is launched.  So let's replace this snippet from the applicationDidFinishLaunching:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#2e0d6e;"&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 0);  font-family:'times new roman';font-size:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#007400;"&gt;&lt;span style="color:#000000;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;/span&gt;// Create the array&lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#26474b;"&gt;&lt;span style="color:#000000;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;[&lt;/span&gt;&lt;span style="color:#aa0d91;"&gt;self&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;createArray&lt;span style="color:#000000;"&gt;];&lt;/span&gt;&lt;/p&gt;&lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#26474b;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#26474b;"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;With this new section:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#26474b;"&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 0);  font-family:'times new roman';font-size:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#5c2699;"&gt;&lt;span style="color:#000000;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#5c2699;"&gt;&lt;span style="color:#000000;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/span&gt;NSUserDefaults&lt;span style="color:#000000;"&gt; *defaults = [&lt;/span&gt;NSUserDefaults&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#2e0d6e;"&gt;standardUserDefaults&lt;/span&gt;&lt;span style="color:#000000;"&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;span style="color:#aa0d91;"&gt;if&lt;/span&gt;([[defaults &lt;span style="color:#2e0d6e;"&gt;objectForKey&lt;/span&gt;:&lt;span style="color:#c41a16;"&gt;@"lastArray"&lt;/span&gt;] &lt;span style="color:#2e0d6e;"&gt;count&lt;/span&gt;] &gt; &lt;span style="color:#1c00cf;"&gt;0&lt;/span&gt;) {&lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#007400;"&gt;&lt;span style="color:#000000;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;/span&gt;// We already have an array, let's use it&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;span style="color:#3f6e74;"&gt;theArray&lt;/span&gt; = [defaults &lt;span style="color:#2e0d6e;"&gt;objectForKey&lt;/span&gt;:&lt;span style="color:#c41a16;"&gt;@"lastArray"&lt;/span&gt;];&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;} &lt;span style="color:#aa0d91;"&gt;else&lt;/span&gt; {&lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#007400;"&gt;&lt;span style="color:#000000;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;&lt;/span&gt;// Create the array&lt;/p&gt; &lt;p color="#26474b" style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; "&gt;&lt;span style="color:#000000;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;[&lt;/span&gt;&lt;span style="color:#aa0d91;"&gt;self&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;createArray&lt;span style="color:#000000;"&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;}&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style="  ;font-family:'times new roman';font-size:16px;"&gt; This seems to be an elegant way to check, that way, if the user has either launched this for the first time or if they have deleted everything, it will create the array, otherwise it will use the latest array before the application was closed.&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:48px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Here's the source code once again:  &lt;/span&gt;&lt;a href="http://nickelback-forum.com/tutorials/TableViewPracticePart2.zip"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Download UITableView Part II Source Code&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'times new roman';"&gt;&lt;span class="Apple-style-span" style="font-size: medium;"&gt;Enjoy!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:'times new roman';font-size:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8375954279965878739-3903252457011322899?l=iphoneproghelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphoneproghelp.blogspot.com/feeds/3903252457011322899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphoneproghelp.blogspot.com/2008/12/uitableview-part-ii.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8375954279965878739/posts/default/3903252457011322899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8375954279965878739/posts/default/3903252457011322899'/><link rel='alternate' type='text/html' href='http://iphoneproghelp.blogspot.com/2008/12/uitableview-part-ii.html' title='UITableView Part II'/><author><name>Eric Busch</name><uri>http://www.blogger.com/profile/15884638930103506000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_smWrM465wSY/SVmjrnz35II/AAAAAAAAAB4/YHb-_OVJcFw/s72-c/Picture+9.png' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8375954279965878739.post-6175138467943514200</id><published>2008-12-29T21:33:00.003-06:00</published><updated>2008-12-29T22:12:25.570-06:00</updated><title type='text'>More on the app delegate</title><content type='html'>In the last post I made where I discussed the UITableView I touched very briefly on the app delegate and how we can use that to access information we may want available to many different classes.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Basically, what we can do by using the code snippet to get the delegate is easily access information from wherever we are.  This is incredibly helpful for things like drill-downs.  To me, the main advantages of this approach are that you don't have to be passing information from class to class every time, and you can access the same information from all over your application very easily.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The way you can do this is actually fairly simple.  Firstly, import your app delegate's .h.  In our last example this was as simple as:&lt;/div&gt;&lt;div&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #c41a16"&gt;&lt;span style="color: #643820"&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;span style="color: #643820"&gt;#import &lt;/span&gt;"TableViewPracticeAppDelegate.h"&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "&gt;&lt;span class="Apple-style-span" style="font-family: Georgia; font-size: 16px;"&gt;And then one simple line and we're there!  Where you want to use this be sure to put this line of code:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "&gt;&lt;span class="Apple-style-span" style="font-family: Georgia; font-size: 16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #3f6e74"&gt;TableViewPracticeAppDelegate&lt;span style="color: #000000"&gt; *appDelegate = [[&lt;/span&gt;&lt;span style="color: #5c2699"&gt;UIApplication&lt;/span&gt;&lt;span style="color: #000000"&gt; &lt;/span&gt;&lt;span style="color: #2e0d6e"&gt;sharedApplication&lt;/span&gt;&lt;span style="color: #000000"&gt;] &lt;/span&gt;&lt;span style="color: #2e0d6e"&gt;delegate&lt;/span&gt;&lt;span style="color: #000000"&gt;];&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color: #3f6e74"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "&gt;&lt;span class="Apple-style-span" style="font-family: Georgia; font-size: 16px;"&gt;This is again assuming the last post's project/file names, but I assume everyone could easily modify this code to meet their own needs.  Since theArray was setup as a property in the app delegate, we were able to call it no problem.  If we wanted to get an object called "someItem" all we would need would be&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "&gt;&lt;span class="Apple-style-span" style="font-family: Georgia; font-size: 16px;"&gt;&lt;blockquote&gt;[appDelegate someItem];&lt;/blockquote&gt;Hopefully this clears up any confusion in case anyone was struggling with that particular section of the UITableView Part I.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8375954279965878739-6175138467943514200?l=iphoneproghelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphoneproghelp.blogspot.com/feeds/6175138467943514200/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphoneproghelp.blogspot.com/2008/12/more-on-app-delegate.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8375954279965878739/posts/default/6175138467943514200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8375954279965878739/posts/default/6175138467943514200'/><link rel='alternate' type='text/html' href='http://iphoneproghelp.blogspot.com/2008/12/more-on-app-delegate.html' title='More on the app delegate'/><author><name>Eric Busch</name><uri>http://www.blogger.com/profile/15884638930103506000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8375954279965878739.post-7525563726457439792</id><published>2008-12-29T12:22:00.006-06:00</published><updated>2008-12-29T21:24:27.505-06:00</updated><title type='text'>A UITableView Primer</title><content type='html'>&lt;blockquote&gt;&lt;/blockquote&gt;Many people struggle with the UITableView so we'll start off with the basics here.  I'll cover the basics in this tutorial and in future tutorials try and build on that.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;How I think of the UITableView is that I have an array, and it uses that arrays attributes to display my information in a very nice way.  So the first thing that should be done should be to create a "Navigation Based Application" in XCode, I'll call mine "TableViewPractice."  We see two classes: the delegate, and the RootViewController.  In short, what is happening is that the delegate is making sure that the view is created and shown by the RootViewController.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;First let's add a couple things in the app delegate's header file.  We'll add a property for an NSArray -- So everything after your imports and opening comments becomes this:&lt;/div&gt;&lt;div&gt;&lt;p color="#c41a16" style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; "&gt;&lt;uikit/uikit.h&gt;&lt;/uikit/uikit.h&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span style="color:#aa0d91;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span style="color:#aa0d91;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span style="color:#aa0d91;"&gt;@interface&lt;/span&gt; TableViewPracticeAppDelegate : NSObject &lt;uiapplicationdelegate&gt; {&lt;/uiapplicationdelegate&gt;&lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#5c2699;"&gt;&lt;span style="color:#000000;"&gt;    &lt;/span&gt;UIWindow&lt;span style="color:#000000;"&gt; *&lt;/span&gt;&lt;span style="color:#3f6e74;"&gt;window&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#5c2699;"&gt;&lt;span style="color:#000000;"&gt;    &lt;/span&gt;UINavigationController&lt;span style="color:#000000;"&gt; *&lt;/span&gt;&lt;span style="color:#3f6e74;"&gt;navigationController&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span style=""&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#5c2699;"&gt;NSArray&lt;/span&gt; *theArray;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;}&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#aa0d91;"&gt;@property&lt;span style="color:#000000;"&gt; (&lt;/span&gt;nonatomic&lt;span style="color:#000000;"&gt;, &lt;/span&gt;retain&lt;span style="color:#000000;"&gt;) &lt;/span&gt;IBOutlet&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5c2699;"&gt;UIWindow&lt;/span&gt;&lt;span style="color:#000000;"&gt; *window;&lt;/span&gt;&lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#aa0d91;"&gt;@property&lt;span style="color:#000000;"&gt; (&lt;/span&gt;nonatomic&lt;span style="color:#000000;"&gt;, &lt;/span&gt;retain&lt;span style="color:#000000;"&gt;) &lt;/span&gt;IBOutlet&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#5c2699;"&gt;UINavigationController&lt;/span&gt;&lt;span style="color:#000000;"&gt; *navigationController;&lt;/span&gt;&lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#aa0d91;"&gt;@property&lt;span style="color:#000000;"&gt; (&lt;/span&gt;nonatomic&lt;span style="color:#000000;"&gt;, &lt;/span&gt;retain&lt;span style="color:#000000;"&gt;) &lt;/span&gt;&lt;span style="color:#5c2699;"&gt;NSArray&lt;/span&gt;&lt;span style="color:#000000;"&gt; *&lt;/span&gt;&lt;span style="color:#3f6e74;"&gt;theArray&lt;/span&gt;&lt;span style="color:#000000;"&gt;;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;-(&lt;span style="color:#aa0d91;"&gt;void&lt;/span&gt;) createArray;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#aa0d91;"&gt;@end&lt;/p&gt;&lt;/blockquote&gt;&lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#aa0d91;"&gt;&lt;/p&gt;&lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#aa0d91;"&gt;&lt;span class="Apple-style-span"   style="color: rgb(51, 51, 51);   font-family:'Trebuchet MS';font-size:13px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "&gt;&lt;span class="Apple-style-span"   style="  ;font-family:Georgia;font-size:16px;"&gt;Now we have the .h file ready, so let's jump into the .m file.  First off, we need to synthesize the array, so do that by adding this after the @implementation line:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(170, 13, 145); "&gt;&lt;/p&gt;&lt;blockquote&gt;@synthesize&lt;span style="color: rgb(0, 0, 0); "&gt; theArray;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="color: rgb(0, 0, 0); "&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#aa0d91;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#aa0d91;"&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 0);   font-family:Georgia;font-size:16px;"&gt;I typically create another class in the delegate to create the array of information which needs to be displayed using my UITableView.  I've called mine createArray  as you can see above, and it can be void for my particular implementation.  We'll keep it simple, something like this:&lt;/span&gt;&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="color: rgb(51, 51, 51);   font-family:'Trebuchet MS';font-size:13px;"&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(51, 51, 51); "&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(51, 51, 51); "&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;- (&lt;span style="color:#aa0d91;"&gt;void&lt;/span&gt;)createArray {&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    &lt;span style="color:#5c2699;"&gt;NSArray&lt;/span&gt; *myArray = [[&lt;span style="color:#5c2699;"&gt;NSArray&lt;/span&gt; &lt;span style="color:#2e0d6e;"&gt;alloc&lt;/span&gt;] &lt;span style="color:#2e0d6e;"&gt;initWithObjects&lt;/span&gt;:&lt;span style="color:#c41a16;"&gt;@"Hello"&lt;/span&gt;, &lt;span style="color:#c41a16;"&gt;@"World", nil&lt;/span&gt;];&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    &lt;span style="color:#3f6e74;"&gt;theArray&lt;/span&gt; = myArray;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;}&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#aa0d91;"&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 0);  font-family:Georgia;font-size:16px;"&gt;The delegate looks good, let's move onto the UITableView class (RootViewController)&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#aa0d91;"&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 0);  font-family:Georgia;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p color="#aa0d91" style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; "&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;Now, each method in this will be called automatically, so no need to link anything up per se, because a UITableView class is ready to run with these methods.  I'll try and explain each one briefly before showing how we will implement it, they are fairly self explanatory but make sure you understand them and use them properly.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p color="#aa0d91" style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; "&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 0);  font-family:Georgia;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p color="#aa0d91" style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; "&gt;&lt;span class="Apple-style-span"   style="color: rgb(0, 0, 0);  font-family:Georgia;font-size:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;- (&lt;span style="color:#5c2699;"&gt;NSInteger&lt;/span&gt;)numberOfSectionsInTableView:(&lt;span style="color:#5c2699;"&gt;UITableView&lt;/span&gt; *)tableView&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;Return the number of sections in a tableview, since our array is very basic, we can simply return 1.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;- (&lt;span style="color:#5c2699;"&gt;NSInteger&lt;/span&gt;)tableView:(&lt;span style="color:#5c2699;"&gt;UITableView&lt;/span&gt; *)tableView numberOfRowsInSection:(&lt;span style="color:#5c2699;"&gt;NSInteger&lt;/span&gt;)section&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style="  ;font-family:Georgia;font-size:16px;"&gt;This can be used to specify how many rows are in each section, since our UITableView only has one section, we can use this fairly easily as well.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;- (&lt;span style="color:#5c2699;"&gt;UITableViewCell&lt;/span&gt; *)tableView:(&lt;span style="color:#5c2699;"&gt;UITableView&lt;/span&gt; *)tableView cellForRowAtIndexPath:(&lt;span style="color:#5c2699;"&gt;NSIndexPath&lt;/span&gt; *)indexPath&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;This still remains fairly simple in a basic implementation, but can be used to change the appearance of the given row in the UITableView.  This also exposes us for the first time to "indexPath."  Don't be intimidated by this, this can be used greatly to our advantage.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;- (&lt;span style="color:#aa0d91;"&gt;void&lt;/span&gt;)tableView:(&lt;span style="color:#5c2699;"&gt;UITableView&lt;/span&gt; *)tableView didSelectRowAtIndexPath:(&lt;span style="color:#5c2699;"&gt;NSIndexPath&lt;/span&gt; *)indexPath&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;This can be used to handle if a row is touched.  You can choose to implement this or not.  In this basic example we will only use this is a very simple form.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;There are a few more methods that go into editing a UITableView, but since we aren't going to be implementing that we'll cover it at the time in which it seems more relevant.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;Let's get down to the actual implementation inside the UITableView!&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;Like I mentioned earlier, this is basically all structured around the array and its traits.  Knowing that the implementation should be fairly simple.  To do this I will use the app delegate to give us the array.  We can do that by using this line of code:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "&gt;&lt;/p&gt;&lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#3f6e74;"&gt;&lt;/p&gt;&lt;blockquote&gt;TableViewPracticeAppDelegate&lt;span style="color:#000000;"&gt; *appDelegate = [[&lt;/span&gt;&lt;span style="color:#5c2699;"&gt;UIApplication&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#2e0d6e;"&gt;sharedApplication&lt;/span&gt;&lt;span style="color:#000000;"&gt;] &lt;/span&gt;&lt;span style="color:#2e0d6e;"&gt;delegate&lt;/span&gt;&lt;span style="color:#000000;"&gt;];&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="color:#000000;"&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#3f6e74;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;This is a powerful line of code, and will make it so the number of rows can easily be expressed:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span style="color:#aa0d91;"&gt;return&lt;/span&gt; [[appDelegate &lt;span style="color:#26474b;"&gt;theArray&lt;/span&gt;] &lt;span style="color:#2e0d6e;"&gt;count&lt;/span&gt;];&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;So that whole section will become:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;- (&lt;span style="color:#5c2699;"&gt;NSInteger&lt;/span&gt;)tableView:(&lt;span style="color:#5c2699;"&gt;UITableView&lt;/span&gt; *)tableView numberOfRowsInSection:(&lt;span style="color:#5c2699;"&gt;NSInteger&lt;/span&gt;)section {&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#3f6e74;"&gt;&lt;span style="color:#000000;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;    &lt;/span&gt;TableViewPracticeAppDelegate&lt;span style="color:#000000;"&gt; *appDelegate = [[&lt;/span&gt;&lt;span style="color:#5c2699;"&gt;UIApplication&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#2e0d6e;"&gt;sharedApplication&lt;/span&gt;&lt;span style="color:#000000;"&gt;] &lt;/span&gt;&lt;span style="color:#2e0d6e;"&gt;delegate&lt;/span&gt;&lt;span style="color:#000000;"&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span&gt;     &lt;/span&gt;&lt;span style="color:#aa0d91;"&gt;return&lt;/span&gt; [[appDelegate &lt;span style="color:#26474b;"&gt;theArray&lt;/span&gt;] &lt;span style="color:#2e0d6e;"&gt;count&lt;/span&gt;];&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;}&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;Pretty simple, right?  With only one section this becomes easy, because we know we can return the count and it will work.  For multiple sectioned tables, we would want to create a switch, but this is clearly not needed in our implementation.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;For the cellForRowAtIndexPath method we can use the app delegate again.  Under the comment that already exists that reads "// Setup the cell" we can put:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#3f6e74;"&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p color="#3f6e74" style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; "&gt;TableViewPracticeAppDelegate&lt;span style="color:#000000;"&gt; *appDelegate = [[&lt;/span&gt;&lt;span style="color:#5c2699;"&gt;UIApplication&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#2e0d6e;"&gt;sharedApplication&lt;/span&gt;&lt;span style="color:#000000;"&gt;] &lt;/span&gt;&lt;span style="color:#2e0d6e;"&gt;delegate&lt;/span&gt;&lt;span style="color:#000000;"&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;cell.&lt;span style="color:#5c2699;"&gt;text&lt;/span&gt; = [[appDelegate &lt;span style="color:#26474b;"&gt;theArray&lt;/span&gt;] &lt;span style="color:#2e0d6e;"&gt;objectAtIndex&lt;/span&gt;:indexPath.&lt;span style="color:#2e0d6e;"&gt;row&lt;/span&gt;];&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;   &lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;That whole section (For copy and paste purposes) should now read:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;- (&lt;span style="color:#5c2699;"&gt;UITableViewCell&lt;/span&gt; *)tableView:(&lt;span style="color:#5c2699;"&gt;UITableView&lt;/span&gt; *)tableView cellForRowAtIndexPath:(&lt;span style="color:#5c2699;"&gt;NSIndexPath&lt;/span&gt; *)indexPath {&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;    &lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;    &lt;span style="color:#aa0d91;"&gt;static&lt;/span&gt; &lt;span style="color:#5c2699;"&gt;NSString&lt;/span&gt; *CellIdentifier = &lt;span style="color:#c41a16;"&gt;@"Cell"&lt;/span&gt;;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;    &lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;    &lt;span style="color:#5c2699;"&gt;UITableViewCell&lt;/span&gt; *cell = [tableView &lt;span style="color:#2e0d6e;"&gt;dequeueReusableCellWithIdentifier&lt;/span&gt;:CellIdentifier];&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;    &lt;span style="color:#aa0d91;"&gt;if&lt;/span&gt; (cell == &lt;span style="color:#aa0d91;"&gt;nil&lt;/span&gt;) {&lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#2e0d6e;"&gt;&lt;span style="color:#000000;"&gt;        cell = [[[&lt;/span&gt;&lt;span style="color:#5c2699;"&gt;UITableViewCell&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;alloc&lt;span style="color:#000000;"&gt;] &lt;/span&gt;initWithFrame&lt;span style="color:#000000;"&gt;:&lt;/span&gt;&lt;span style="color:#5c2699;"&gt;CGRectZero&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;reuseIdentifier&lt;span style="color:#000000;"&gt;:CellIdentifier] &lt;/span&gt;autorelease&lt;span style="color:#000000;"&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;    }&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;    &lt;/p&gt; &lt;p  style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; color:#007400;"&gt;&lt;span style="color:#000000;"&gt;    &lt;/span&gt;// Set up the cell...&lt;/p&gt; &lt;p color="#3f6e74" style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; "&gt;&lt;span style="color:#000000;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/span&gt;TableViewPracticeAppDelegate&lt;span style="color:#000000;"&gt; *appDelegate = [[&lt;/span&gt;&lt;span style="color:#5c2699;"&gt;UIApplication&lt;/span&gt;&lt;span style="color:#000000;"&gt; &lt;/span&gt;&lt;span style="color:#2e0d6e;"&gt;sharedApplication&lt;/span&gt;&lt;span style="color:#000000;"&gt;] &lt;/span&gt;&lt;span style="color:#2e0d6e;"&gt;delegate&lt;/span&gt;&lt;span style="color:#000000;"&gt;];&lt;/span&gt;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;cell.&lt;span style="color:#5c2699;"&gt;text&lt;/span&gt; = [[appDelegate &lt;span style="color:#26474b;"&gt;theArray&lt;/span&gt;] &lt;span style="color:#2e0d6e;"&gt;objectAtIndex&lt;/span&gt;:indexPath.&lt;span style="color:#2e0d6e;"&gt;row&lt;/span&gt;];&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;   &lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;span style="color:#aa0d91;"&gt;return&lt;/span&gt; cell;&lt;/p&gt; &lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;}&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;Now this should look how we want it, try and run it!  &lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;I mentioned earlier that we would only go into the basics of the didSelectRowAtIndexPath.  So if we peak at that we can change it to:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;span class="Apple-style-span"   style="  ;font-family:Monaco;font-size:10px;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;span class="Apple-style-span"   style="  ;font-family:Monaco;font-size:10px;"&gt;- (&lt;span style="color: rgb(170, 13, 145); "&gt;void&lt;/span&gt;)tableView:(&lt;span style="color: rgb(92, 38, 153); "&gt;UITableView&lt;/span&gt; *)tableView didSelectRowAtIndexPath:(&lt;span style="color: rgb(92, 38, 153); "&gt;NSIndexPath&lt;/span&gt;*)indexPath {&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(0, 116, 0); "&gt;&lt;span style="color: rgb(0, 0, 0); "&gt;    &lt;/span&gt;// Navigation logic may go here. Create and push another view controller.&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(0, 116, 0); "&gt;&lt;span style="color: rgb(0, 0, 0); "&gt; &lt;span class="Apple-tab-span" style="white-space: pre; "&gt; &lt;/span&gt;  &lt;/span&gt;// AnotherViewController *anotherViewController = [[AnotherViewController alloc] initWithNibName:@"AnotherView" bundle:nil];&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(0, 116, 0); "&gt;&lt;span style="color: rgb(0, 0, 0); "&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt; &lt;/span&gt;   &lt;/span&gt;// [self.navigationController pushViewController:anotherViewController];&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(0, 116, 0); "&gt;&lt;span style="color: rgb(0, 0, 0); "&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt; &lt;/span&gt;   &lt;/span&gt;// [anotherViewController release];&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(46, 13, 110); "&gt;&lt;span style="color: rgb(0, 0, 0); "&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt; &lt;/span&gt;   [tableView &lt;/span&gt;deselectRowAtIndexPath&lt;span style="color: rgb(0, 0, 0); "&gt;:indexPath &lt;/span&gt;animated&lt;span style="color: rgb(0, 0, 0); "&gt;:&lt;/span&gt;&lt;span style="color: rgb(170, 13, 145); "&gt;YES&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); "&gt;];&lt;/span&gt;&lt;/p&gt;&lt;span class="Apple-style-span"   style="  ;font-family:Monaco;font-size:10px;"&gt;}&lt;/span&gt;&lt;/blockquote&gt;&lt;span class="Apple-style-span"   style="  ;font-family:Monaco;font-size:10px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;I left Apple's little comments in there because it will make sense when we try to implement it later.  All this will do will deselect the row that was selected, so you will see it selected for a second, then deselect itself with some nice fading animation.  Since this is only one level deep this is basically all it will need.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;To sum up what is happening in a basic way:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;-The UITableView is calling all of those methods automatically&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;-We're using the indexPath to find out where we are at that particular moment&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;-We're setting the text of each row using indexPath.row.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;In the next posts I'll be sure to cover editing, more on selecting, and other stuff we can do with UITableViews.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 10.0px Monaco; min-height: 14.0px"&gt;&lt;span class="Apple-style-span"   style=" ;font-family:Georgia;font-size:16px;"&gt;Here's the source of this tutorial: &lt;a href="http://nickelback-forum.com/tutorials/TableViewPractice.zip"&gt;Download Tutorial Source Code&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; "&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font: normal normal normal 10px/normal Monaco; color: rgb(51, 51, 51); "&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8375954279965878739-7525563726457439792?l=iphoneproghelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphoneproghelp.blogspot.com/feeds/7525563726457439792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphoneproghelp.blogspot.com/2008/12/uitableview-primer.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8375954279965878739/posts/default/7525563726457439792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8375954279965878739/posts/default/7525563726457439792'/><link rel='alternate' type='text/html' href='http://iphoneproghelp.blogspot.com/2008/12/uitableview-primer.html' title='A UITableView Primer'/><author><name>Eric Busch</name><uri>http://www.blogger.com/profile/15884638930103506000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8375954279965878739.post-2602433860704115862</id><published>2008-12-29T12:08:00.003-06:00</published><updated>2008-12-29T12:22:10.533-06:00</updated><title type='text'>A few things that are already available...</title><content type='html'>There are quite a few things that are already available to us as iPhone Developers.  Some of these things could end up saving us an awful lot of time.  If anyone has any ideas as to things that could be added to this list, let me know!&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://code.google.com/p/cocos2d-iphone/"&gt;Cocos2d iPhone&lt;/a&gt; - This is a framework for building 2d games based around OpenGL ES 1.1&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.sio2interactive.com/HOME/HOME.html"&gt;Sio2 Project&lt;/a&gt; - This is an open source engine built for 3d games and is also based around OpenGL ES 1.1&lt;/div&gt;&lt;div&gt;&lt;a href="http://wiki.slembcke.net/main/published/Chipmunk"&gt;Chipmunk Physics&lt;/a&gt; - A complete physics suite, it is built into Cocos2d, but can also be used outside of Cocos2d as well&lt;/div&gt;&lt;div&gt;&lt;a href="http://unity3d.com/"&gt;Unity3d&lt;/a&gt; - I've never had any personal experience with this, but everyone I've heard from who has has loved it.  They have a free trial, but the full program is quite expensive (at least for me!)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You might have noticed that each of these seems to be geared towards game creators.  I can see two likely reasons for this.  The first would be that games seem to be doing very well in the App Store and many people would love to get involved with them.  The second would be that games can be one of the most difficult areas in programming and these can be used to simplify the process and reduce redundant programming.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;You may not find these tools useful for yourself, but I have experimented some with each of the top 3 and can see the merit for any of them.  I will probably not cover much on these tools beyond this post, but felt that iPhone developers may want to know about them.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8375954279965878739-2602433860704115862?l=iphoneproghelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphoneproghelp.blogspot.com/feeds/2602433860704115862/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphoneproghelp.blogspot.com/2008/12/few-things-that-are-already-available.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8375954279965878739/posts/default/2602433860704115862'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8375954279965878739/posts/default/2602433860704115862'/><link rel='alternate' type='text/html' href='http://iphoneproghelp.blogspot.com/2008/12/few-things-that-are-already-available.html' title='A few things that are already available...'/><author><name>Eric Busch</name><uri>http://www.blogger.com/profile/15884638930103506000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8375954279965878739.post-108432426967347106</id><published>2008-12-29T12:04:00.003-06:00</published><updated>2008-12-29T12:07:53.940-06:00</updated><title type='text'>Welcome!!</title><content type='html'>Hi everyone,&lt;div&gt;I've created this blog to help people who are developing for the iPhone and iPod Touch.  Everyone should check out the iPhone Development blog as well as it is very well written and has been incredibly helpful.  It is located here:&lt;a href="http://iphonedevelopment.blogspot.com/" style=""&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); text-decoration: none;"&gt; &lt;/span&gt;&lt;/a&gt;&lt;a href="http://iphonedevelopment.blogspot.com/"&gt;iPhone Development&lt;/a&gt;.  I'm fairly open as to what topics I may be covering.  I'll try to cover each topic well rather than covering random little tidbits - but the first few days may seem like just that.  If you have any suggestions for future topics, or any ideas for the blog you would like to share leave a comment and I'll be happy to try and help or look over what ideas you might have.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Hope I can help, happy reading!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8375954279965878739-108432426967347106?l=iphoneproghelp.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphoneproghelp.blogspot.com/feeds/108432426967347106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphoneproghelp.blogspot.com/2008/12/welcome.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8375954279965878739/posts/default/108432426967347106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8375954279965878739/posts/default/108432426967347106'/><link rel='alternate' type='text/html' href='http://iphoneproghelp.blogspot.com/2008/12/welcome.html' title='Welcome!!'/><author><name>Eric Busch</name><uri>http://www.blogger.com/profile/15884638930103506000</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
