<?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-7913599600546737675</id><updated>2012-02-03T04:06:49.517-05:00</updated><category term='facebook'/><category term='abstract'/><category term='uisearchbar'/><category term='uitableview'/><category term='UITabBarController'/><category term='authentication'/><category term='REST'/><category term='uitableviewcell'/><category term='constant'/><category term='NSDictionary'/><category term='XML'/><category term='UINavigationBar'/><category term='UIKeyboard'/><category term='NSString'/><category term='UITextView'/><category term='UITextFieldDelegate'/><category term='objective-c'/><category term='uitableviewcontroller'/><category term='NSSortDescriptor'/><category term='UIImage'/><category term='exception'/><category term='JSON'/><category term='uitableviewcell font'/><category term='NSURLRequest'/><category term='UITextField'/><title type='text'>iPhone SDK Basics</title><subtitle type='html'>iPhone SDK Development Basics, Tutorials, Code snippets, Links, and Examples.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7913599600546737675.post-5930439078397439035</id><published>2010-12-31T09:03:00.000-05:00</published><updated>2010-12-31T09:03:16.899-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NSSortDescriptor'/><category scheme='http://www.blogger.com/atom/ns#' term='NSString'/><title type='text'>Case-insensitive NSSortDescriptor usage</title><content type='html'>I found this little gem today which was quite useful! If you are using a NSSortDescriptor to sort data using strings, you can make it case insensitive with the following:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;div style="color: #3c2280; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;sorter = [[&lt;/span&gt;&lt;span style="color: #6f41a8;"&gt;NSSortDescriptor&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;alloc&lt;span style="color: black;"&gt;] &lt;/span&gt;initWithKey&lt;span style="color: black;"&gt;:&lt;/span&gt;&lt;span style="color: #ce2e24;"&gt;@"name"&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;ascending&lt;span style="color: black;"&gt;:&lt;/span&gt;&lt;span style="color: #b731a1;"&gt;YES&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;selector&lt;span style="color: black;"&gt;:&lt;/span&gt;&lt;span style="color: #b731a1;"&gt;@selector&lt;/span&gt;&lt;span style="color: black;"&gt;(&lt;/span&gt;caseInsensitiveCompare&lt;span style="color: black;"&gt;:)];&lt;/span&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/7913599600546737675-5930439078397439035?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/5930439078397439035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/12/case-insensitive-nssortdescriptor-usage.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/5930439078397439035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/5930439078397439035'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/12/case-insensitive-nssortdescriptor-usage.html' title='Case-insensitive NSSortDescriptor usage'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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-7913599600546737675.post-7105585738175250035</id><published>2010-11-04T11:51:00.000-04:00</published><updated>2010-11-04T11:51:39.617-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JSON'/><category scheme='http://www.blogger.com/atom/ns#' term='NSDictionary'/><title type='text'>null strings in JSONRepresentation</title><content type='html'>NSDictionary supports the JSONRepresentation method which is quite useful for generating JSON to send to servers. I recently had an issue where if one of my object's members was null, the JSONRepresentation would fail. If I set the member NSString to @"", then "" would get sent across, but what I really wanted was "member":null to be sent.&lt;br /&gt;&lt;br /&gt;The solution is to set your object to [NSNull null], and then the correct JSONRepresentation will be created.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7913599600546737675-7105585738175250035?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/7105585738175250035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/11/null-strings-in-jsonrepresentation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/7105585738175250035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/7105585738175250035'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/11/null-strings-in-jsonrepresentation.html' title='null strings in JSONRepresentation'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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-7913599600546737675.post-6543301962378451177</id><published>2010-08-24T15:26:00.000-04:00</published><updated>2010-08-24T15:26:18.016-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UIImage'/><title type='text'>Resize a UIImage</title><content type='html'>Here's a really easy one. Resize a given UIImage that you've loaded in the following manner:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: #7925ac;"&gt;CGSize&lt;/span&gt; newSize = &lt;span style="color: #430083;"&gt;CGSizeMake&lt;/span&gt;(&lt;span style="color: #2700dc;"&gt;228.0&lt;/span&gt;, &lt;span style="color: #2700dc;"&gt;228.0&lt;/span&gt;);&lt;/div&gt;&lt;div style="color: #430083; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;UIGraphicsBeginImageContext&lt;span style="color: black;"&gt;( newSize );&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;[image &lt;span style="color: #430083;"&gt;drawInRect&lt;/span&gt;:&lt;span style="color: #430083;"&gt;CGRectMake&lt;/span&gt;(&lt;span style="color: #2700dc;"&gt;0&lt;/span&gt;,&lt;span style="color: #2700dc;"&gt;0&lt;/span&gt;,newSize.&lt;span style="color: #7925ac;"&gt;width&lt;/span&gt;,newSize.&lt;span style="color: #7925ac;"&gt;height&lt;/span&gt;)];&lt;/div&gt;&lt;div style="color: #430083; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #7925ac;"&gt;UIImage&lt;/span&gt;&lt;span style="color: black;"&gt;* newImage = &lt;/span&gt;UIGraphicsGetImageFromCurrentImageContext&lt;span style="color: black;"&gt;();&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #430083; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;UIGraphicsEndImageContext&lt;span style="color: black;"&gt;();&lt;/span&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/7913599600546737675-6543301962378451177?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/6543301962378451177/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/08/resize-uiimage.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/6543301962378451177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/6543301962378451177'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/08/resize-uiimage.html' title='Resize a UIImage'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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-7913599600546737675.post-273787646776911793</id><published>2010-07-29T08:14:00.003-04:00</published><updated>2010-07-29T08:15:53.353-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UITextField'/><category scheme='http://www.blogger.com/atom/ns#' term='UIKeyboard'/><title type='text'>Using Next and Done with UITextFields and UIKeyboard</title><content type='html'>So you've probably seen in interface builder that its quite simple to pick which enter key you will use in your keyboard for a given UITextField. The minor complexity is that these different labels don't mean anything unless you add some code in your controller to handle the actions. Let's say you have three UITextFields:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Username&lt;/li&gt;&lt;li&gt;Password&lt;/li&gt;&lt;li&gt;Email&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;You would want to set the first two to 'next' and the last to 'done' in interface builder. Then, you will need to implement UITextFieldDelegate in your View Controller, and use the following:&lt;/div&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;- (&lt;span style="color: #cd00a3;"&gt;BOOL&lt;/span&gt;)textFieldShouldReturn:(&lt;span style="color: #7925ac;"&gt;UITextField&lt;/span&gt; *)textField {&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: #cd00a3;"&gt;if&lt;/span&gt; (textField == &lt;span style="color: #3a8288;"&gt;txtUsername&lt;/span&gt;) {&lt;/div&gt;&lt;div style="color: #430083; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;[&lt;/span&gt;&lt;span style="color: #3a8288;"&gt;txtPassword&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;becomeFirstResponder&lt;span style="color: black;"&gt;];&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: #cd00a3;"&gt;else&lt;/span&gt; &lt;span style="color: #cd00a3;"&gt;if&lt;/span&gt; (textField == &lt;span style="color: #3a8288;"&gt;txtPassword&lt;/span&gt;) {&lt;/div&gt;&lt;div style="color: #430083; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;[&lt;/span&gt;&lt;span style="color: #3a8288;"&gt;txtEmail&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;becomeFirstResponder&lt;span style="color: black;"&gt;];&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div style="color: #430083; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;[textField &lt;/span&gt;resignFirstResponder&lt;span style="color: black;"&gt;];&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #cd00a3; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;return&lt;span style="color: black;"&gt; &lt;/span&gt;YES&lt;span style="color: black;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&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/7913599600546737675-273787646776911793?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/273787646776911793/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/using-next-and-done-with-uitextfields.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/273787646776911793'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/273787646776911793'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/using-next-and-done-with-uitextfields.html' title='Using Next and Done with UITextFields and UIKeyboard'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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-7913599600546737675.post-8008026240626234078</id><published>2010-07-26T20:06:00.001-04:00</published><updated>2010-07-26T20:07:13.689-04:00</updated><title type='text'>XCode 4 Developer Preview</title><content type='html'>Well, as registered developers we aren't really allowed to talk about it, but I'll just say WOW it is seriously nice. This is the first huge upgrade to XCode in a long time. It actually doesn't feel like Project Builder any more, and we can use git!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7913599600546737675-8008026240626234078?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/8008026240626234078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/xcode-4-developer-preview.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/8008026240626234078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/8008026240626234078'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/xcode-4-developer-preview.html' title='XCode 4 Developer Preview'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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-7913599600546737675.post-6786442545049911648</id><published>2010-07-23T08:08:00.000-04:00</published><updated>2010-07-23T08:08:50.510-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UITabBarController'/><title type='text'>Accessing your UITabBarController from another UIViewController</title><content type='html'>I recently came across a situation where I wanted to show the user a UIAlertView on a view listing data if there was no data entered yet, and then direct them to an 'Add' tab in my application after they clicked OK. I ended up doing this by accessing my application's delegate which then had access to the Tab Bar Controller of the entire application.&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;- (&lt;span style="color: #cd00a3;"&gt;void&lt;/span&gt;)alertView:(&lt;span style="color: #7925ac;"&gt;UIAlertView&lt;/span&gt; *)alertView clickedButtonAtIndex:(&lt;span style="color: #7925ac;"&gt;NSInteger&lt;/span&gt;)buttonIndex {&lt;/div&gt;&lt;div style="color: #008b00; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;//only one alertview so we'll just push here&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: #3a8288;"&gt;MyAppDelegate&lt;/span&gt; *appDelegate = (&lt;span style="color: #3a8288;"&gt;MyAppDelegate&lt;/span&gt; *)[[&lt;span style="color: #7925ac;"&gt;UIApplication&lt;/span&gt; &lt;span style="color: #430083;"&gt;sharedApplication&lt;/span&gt;] delegate];&lt;/div&gt;&lt;div style="color: #430083; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;[[appDelegate &lt;/span&gt;tabBarController&lt;span style="color: black;"&gt;] &lt;/span&gt;setSelectedIndex&lt;span style="color: black;"&gt;:&lt;/span&gt;&lt;span style="color: #2700dc;"&gt;1&lt;/span&gt;&lt;span style="color: black;"&gt;];&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;}&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;The indexing is zero-based, as expected, so don't forget that :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7913599600546737675-6786442545049911648?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/6786442545049911648/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/accessing-your-uitabbarcontroller-from.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/6786442545049911648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/6786442545049911648'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/accessing-your-uitabbarcontroller-from.html' title='Accessing your UITabBarController from another UIViewController'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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-7913599600546737675.post-1216530429741612101</id><published>2010-07-23T08:03:00.000-04:00</published><updated>2010-07-23T08:03:31.645-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UINavigationBar'/><title type='text'>Setting the color of a UINavigationBar programmatically</title><content type='html'>If you are using a UINavigationController for your views, you can easily change the UINavigationBar's color using the following:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;span class="Apple-style-span" style="color: #7925ac; font-family: Menlo; font-size: 11px;"&gt;&lt;span style="color: #cd00a3;"&gt;self&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #7925ac; font-family: Menlo; font-size: 11px;"&gt;&lt;span style="color: black;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #7925ac; font-family: Menlo; font-size: 11px;"&gt;navigationController&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #7925ac; font-family: Menlo; font-size: 11px;"&gt;&lt;span style="color: black;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #7925ac; font-family: Menlo; font-size: 11px;"&gt;navigationBar&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #7925ac; font-family: Menlo; font-size: 11px;"&gt;&lt;span style="color: black;"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #7925ac; font-family: Menlo; font-size: 11px;"&gt;tintColor&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #7925ac; font-family: Menlo; font-size: 11px;"&gt;&lt;span style="color: black;"&gt; = [&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #7925ac; font-family: Menlo; font-size: 11px;"&gt;UIColor&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #7925ac; font-family: Menlo; font-size: 11px;"&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #7925ac; font-family: Menlo; font-size: 11px;"&gt;&lt;span style="color: #430083;"&gt;brownColor&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #7925ac; font-family: Menlo; font-size: 11px;"&gt;&lt;span style="color: black;"&gt;];&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;and choose whatever color you wish.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7913599600546737675-1216530429741612101?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/1216530429741612101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/setting-color-of-uinavigationbar.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/1216530429741612101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/1216530429741612101'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/setting-color-of-uinavigationbar.html' title='Setting the color of a UINavigationBar programmatically'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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-7913599600546737675.post-1917805354130585216</id><published>2010-07-21T09:03:00.000-04:00</published><updated>2010-07-21T09:03:36.472-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NSString'/><title type='text'>Converting NSString to int, float, double, and bool</title><content type='html'>Here's another really basic &amp;amp; simple NSString tip for today to help you convert strings to various basic types. The NSString class has a bunch of conversions already built in:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #cd00a3;"&gt;float&lt;/span&gt; stringFloat = [myString &lt;span style="color: #430083;"&gt;floatValue&lt;/span&gt;];&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #cd00a3;"&gt;int&lt;/span&gt; stringInt = [myString &lt;span style="color: #430083;"&gt;intValue&lt;/span&gt;]&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #cd00a3;"&gt;double&lt;/span&gt; stringDouble = [myString &lt;span style="color: #430083;"&gt;doubleValue&lt;/span&gt;]&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #cd00a3;"&gt;BOOL&lt;/span&gt; boolValue = [myString &lt;span style="color: #430083;"&gt;boolValue&lt;/span&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/7913599600546737675-1917805354130585216?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/1917805354130585216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/converting-nsstring-to-int-float-double.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/1917805354130585216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/1917805354130585216'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/converting-nsstring-to-int-float-double.html' title='Converting NSString to int, float, double, and bool'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7913599600546737675.post-6468323665191511356</id><published>2010-07-21T08:59:00.000-04:00</published><updated>2010-07-21T08:59:07.513-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NSString'/><title type='text'>Easy NSString substring</title><content type='html'>Sadly, creating a simple substring in Objective-C isn't quite as obvious as in other languages. Here's a basic method to grab a substring of a given string before a defined character, in my case the ":" character:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;div style="color: #3a8288; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7925ac;"&gt;NSRange&lt;/span&gt;&lt;span style="color: black;"&gt; end = [&lt;/span&gt;_contentsOfElement&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;span style="color: #430083;"&gt;rangeOfString&lt;/span&gt;&lt;span style="color: black;"&gt;:&lt;/span&gt;&lt;span style="color: #e50000;"&gt;@":"&lt;/span&gt;&lt;span style="color: black;"&gt;];&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #430083; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;[&lt;/span&gt;&lt;span style="color: #3a8288;"&gt;myVar&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;span style="color: #205a5e;"&gt;setName&lt;/span&gt;&lt;span style="color: black;"&gt;:[&lt;/span&gt;&lt;span style="color: #3a8288;"&gt;_contentsOfElement&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;substringWithRange&lt;span style="color: black;"&gt;:&lt;/span&gt;NSMakeRange&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: #2700dc;"&gt;0&lt;/span&gt;&lt;span style="color: black;"&gt;, end.&lt;/span&gt;&lt;span style="color: #7925ac;"&gt;location&lt;/span&gt;&lt;span style="color: black;"&gt;)]];&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;If you wanted grab a string between two characters, you could do:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;div style="color: #3a8288; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7925ac;"&gt;NSRange&lt;/span&gt;&lt;span style="color: black;"&gt; start = [&lt;/span&gt;_contentsOfElement&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;span style="color: #430083;"&gt;rangeOfString&lt;/span&gt;&lt;span style="color: black;"&gt;:&lt;/span&gt;&lt;span style="color: #e50000;"&gt;@"|"&lt;/span&gt;&lt;span style="color: black;"&gt;];&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #3a8288; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7925ac;"&gt;NSRange&lt;/span&gt;&lt;span style="color: black;"&gt; end = [&lt;/span&gt;_contentsOfElement&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;span style="color: #430083;"&gt;rangeOfString&lt;/span&gt;&lt;span style="color: black;"&gt;:&lt;/span&gt;&lt;span style="color: #e50000;"&gt;@":"&lt;/span&gt;&lt;span style="color: black;"&gt;];&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #430083; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;[&lt;/span&gt;&lt;span style="color: #3a8288;"&gt;myVar&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;span style="color: #205a5e;"&gt;setName&lt;/span&gt;&lt;span style="color: black;"&gt;:[&lt;/span&gt;&lt;span style="color: #3a8288;"&gt;_contentsOfElement&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;substringWithRange&lt;span style="color: black;"&gt;:&lt;/span&gt;NSMakeRange&lt;span style="color: black;"&gt;(start.&lt;/span&gt;&lt;span style="color: #7925ac;"&gt;location&lt;/span&gt;&lt;span style="color: black;"&gt;, end.&lt;/span&gt;&lt;span style="color: #7925ac;"&gt;location&lt;/span&gt;&lt;span style="color: black;"&gt;)]];&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/span&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/7913599600546737675-6468323665191511356?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/6468323665191511356/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/easy-nsstring-substring.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/6468323665191511356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/6468323665191511356'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/easy-nsstring-substring.html' title='Easy NSString substring'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7913599600546737675.post-1014024890719217554</id><published>2010-07-19T08:43:00.000-04:00</published><updated>2010-07-19T08:43:22.508-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UITextView'/><title type='text'>UITextView automatic keyboard display</title><content type='html'>I've come across a few instances where my view is simply a UITextView for the user to enter some text into, such as for a comment field, or a twitter entry, etc. In these scenarios it is best to automatically show the UIKeyboard for the user to just start typing. This is a really easy one, all you have to do is have the synchronized UITextView become the first responder to make the keyboard appear:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;- (&lt;span style="color: #cd00a3;"&gt;void&lt;/span&gt;)viewDidLoad {&lt;/div&gt;&lt;div style="color: #430083; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&amp;nbsp; &amp;nbsp; [&lt;/span&gt;&lt;span style="color: #cd00a3;"&gt;super&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;viewDidLoad&lt;span style="color: black;"&gt;];&lt;/span&gt;&lt;span class="Apple-style-span" style="color: black;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #430083; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;[&lt;/span&gt;&lt;span style="color: #3a8288;"&gt;commentTxt&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;becomeFirstResponder&lt;span style="color: black;"&gt;];&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;}&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;You can use the same technique with UITextFields too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7913599600546737675-1014024890719217554?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/1014024890719217554/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/uitextview-automatic-keyboard-display.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/1014024890719217554'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/1014024890719217554'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/uitextview-automatic-keyboard-display.html' title='UITextView automatic keyboard display'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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-7913599600546737675.post-4186265943317770921</id><published>2010-07-16T10:29:00.000-04:00</published><updated>2010-07-16T10:29:59.310-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='uitableviewcell'/><category scheme='http://www.blogger.com/atom/ns#' term='uitableview'/><title type='text'>Deselecting UITableViewCell's when a view appears</title><content type='html'>Here's a simple tip to make your application look a little more polished. It's very common for us to push new view controllers when a row is selected in a UITableView. If the user uses a UINavigationBar button to go back to the previous view, or the new view controller gets popped in some other manner, you will want to remove the highlight from the selected UITableViewCell. Here's a simple snippet to add to do just that assuming you have a UITableView that is an IBOutlet on your view controller:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;- (&lt;span style="color: #cd00a3;"&gt;void&lt;/span&gt;) viewDidAppear:(&lt;span style="color: #cd00a3;"&gt;BOOL&lt;/span&gt;)animated {&lt;/div&gt;&lt;div style="color: #430083; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #cd00a3;"&gt;if&lt;/span&gt;&lt;span style="color: black;"&gt; ([&lt;/span&gt;&lt;span style="color: #cd00a3;"&gt;self&lt;/span&gt;&lt;span style="color: black;"&gt;.&lt;/span&gt;&lt;span style="color: #3a8288;"&gt;table&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;indexPathForSelectedRow&lt;span style="color: black;"&gt;]) {&lt;/span&gt;&lt;/div&gt;&lt;div style="color: #430083; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;[&lt;/span&gt;&lt;span style="color: #cd00a3;"&gt;self&lt;/span&gt;&lt;span style="color: black;"&gt;.&lt;/span&gt;&lt;span style="color: #3a8288;"&gt;table&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;deselectRowAtIndexPath&lt;span style="color: black;"&gt;:[&lt;/span&gt;&lt;span style="color: #cd00a3;"&gt;self&lt;/span&gt;&lt;span style="color: black;"&gt;.&lt;/span&gt;&lt;span style="color: #3a8288;"&gt;table&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;indexPathForSelectedRow&lt;span style="color: black;"&gt;] &lt;/span&gt;animated&lt;span style="color: black;"&gt;:&lt;/span&gt;&lt;span style="color: #cd00a3;"&gt;YES&lt;/span&gt;&lt;span style="color: black;"&gt;];&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&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/7913599600546737675-4186265943317770921?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/4186265943317770921/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/deselecting-uitableviewcells-when-view.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/4186265943317770921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/4186265943317770921'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/deselecting-uitableviewcells-when-view.html' title='Deselecting UITableViewCell&apos;s when a view appears'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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-7913599600546737675.post-209675628343406518</id><published>2010-07-16T10:23:00.000-04:00</published><updated>2010-07-16T10:23:59.982-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='facebook'/><title type='text'>Facebook API Integration on the iPhone</title><content type='html'>This is another short post, for I can't take credit for any of the code. I just wanted to pass across a link to the &lt;a href="http://github.com/facebook/facebook-iphone-sdk"&gt;Facebook iPhone SDK&lt;/a&gt; that they've put together. I despise Facebook, but must admit this is one of the most well polished and documented libraries for the iPhone that I've seen yet. The framed webview that pops up for the authorization looks great.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7913599600546737675-209675628343406518?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/209675628343406518/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/facebook-api-integration-on-iphone.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/209675628343406518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/209675628343406518'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/facebook-api-integration-on-iphone.html' title='Facebook API Integration on the iPhone'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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-7913599600546737675.post-4953883314507627147</id><published>2010-07-08T07:44:00.000-04:00</published><updated>2010-07-08T07:44:11.279-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='uitableviewcell font'/><title type='text'>Default UITableViewCell font, and how to change it</title><content type='html'>The default font is... Helvetica! If you want to change the size of the font, you can use:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;div style="color: #7925ac; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;cell.&lt;/span&gt;textLabel&lt;span style="color: black;"&gt;.&lt;/span&gt;font&lt;span style="color: black;"&gt; = [&lt;/span&gt;UIFont&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;span style="color: #430083;"&gt;fontWithName&lt;/span&gt;&lt;span style="color: black;"&gt;:&lt;/span&gt;&lt;span style="color: #e50000;"&gt;@"Helvetica"&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;span style="color: #430083;"&gt;size&lt;/span&gt;&lt;span style="color: black;"&gt;:&lt;/span&gt;&lt;span style="color: #2700dc;"&gt;14.0&lt;/span&gt;&lt;span style="color: black;"&gt;];&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;You can also change the font using the above statement with a different font name.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7913599600546737675-4953883314507627147?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/4953883314507627147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/default-uitableviewcell-font-and-how-to.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/4953883314507627147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/4953883314507627147'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/default-uitableviewcell-font-and-how-to.html' title='Default UITableViewCell font, and how to change it'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7913599600546737675.post-1235710664070611024</id><published>2010-07-08T07:18:00.002-04:00</published><updated>2010-07-08T07:38:49.529-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='uisearchbar'/><category scheme='http://www.blogger.com/atom/ns#' term='uitableview'/><title type='text'>Hiding the keyboard when using UISearchBar and UITableView</title><content type='html'>In one of my recent applications, I set up a UIViewController containing a UISearchBar and a UITableView. I implemented all the necessary delegate methods for both classes, and my search was working just fine (after working out a few kinks..). I did have one remaining problem though... Since I was searching as the user was typing, similar to an autocomplete on the web, the results were automatically being shown in the tableview but the keyboard was still there! This only showed the user a few results and was not very user friendly. I next figured out how to hide the keyboard once the user touched the tableview and started scrolling.&lt;br /&gt;&lt;br /&gt;It's actually really easy to do this - all you have to do is implement the UIScrollViewDelegate as follows:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #cd00a3;"&gt;@interface&lt;/span&gt;&amp;nbsp;YourViewController : UIViewController &amp;lt;UITableViewDataSource, UITableViewDelegate, &lt;b&gt;UIScrollViewDelegate&lt;/b&gt;&amp;gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;...and then put the following into your class.m source:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;- (&lt;span style="color: #cd00a3;"&gt;void&lt;/span&gt;)scrollViewWillBeginDragging:(&lt;span style="color: #7925ac;"&gt;UIScrollView&lt;/span&gt; *)scrollView {&lt;/div&gt;&lt;div style="color: #430083; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;[&lt;/span&gt;&lt;span style="color: #3a8288;"&gt;search&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;resignFirstResponder&lt;span style="color: black;"&gt;];&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&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/7913599600546737675-1235710664070611024?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/1235710664070611024/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/hiding-keyboard-when-using-uisearchbar.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/1235710664070611024'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/1235710664070611024'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/hiding-keyboard-when-using-uisearchbar.html' title='Hiding the keyboard when using UISearchBar and UITableView'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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-7913599600546737675.post-4180425809729369610</id><published>2010-07-08T07:11:00.000-04:00</published><updated>2010-07-08T07:11:52.883-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='authentication'/><title type='text'>HTTP Basic Authentication on the iPhone</title><content type='html'>I can't steal credit for this one. I just wanted to pass along this excellent link to a post titled &lt;a href="http://davidjhinson.wordpress.com/2009/03/09/objective-c-and-http-basic-authentication/"&gt;Objective-C and HTTP &amp;nbsp;Basic Authentication&lt;/a&gt;. It still amazes me that the iPhone SDK doesn't have base 64 encoding built in... but at least some smart folks out there have gone through the trouble of putting it together for us.&lt;br /&gt;&lt;br /&gt;What I ended up doing was putting the encode function in my parent REST client class, then I was able to call it as necessary in my subclasses.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7913599600546737675-4180425809729369610?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/4180425809729369610/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/http-basic-authentication-on-iphone.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/4180425809729369610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/4180425809729369610'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/http-basic-authentication-on-iphone.html' title='HTTP Basic Authentication on the iPhone'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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-7913599600546737675.post-1475574414723416030</id><published>2010-07-08T07:06:00.000-04:00</published><updated>2010-07-08T07:06:02.250-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NSURLRequest'/><title type='text'>NSURLErrorDomain error -1012</title><content type='html'>So have you run across this one when trying to issue some url requests? What it means is there was an authentication error - NSURLErrorUserCancelledAuthentication. Okay, so what does that mean? You likely are trying to issue a synchronous http request and not passing proper authentication, or you've messed up your auth in some other manner. It's a lot easier to handle authentication when using asynchronous calls and responding to the auth challenge:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;-(&lt;span style="color: #cd00a3;"&gt;void&lt;/span&gt;)connection:(&lt;span style="color: #7925ac;"&gt;NSURLConnection&lt;/span&gt; *)connection didReceiveAuthenticationChallenge:(&lt;span style="color: #7925ac;"&gt;NSURLAuthenticationChallenge&lt;/span&gt; *)challenge&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;{&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&amp;nbsp; &amp;nbsp; &lt;span style="color: #cd00a3;"&gt;if&lt;/span&gt; ([challenge &lt;span style="color: #430083;"&gt;previousFailureCount&lt;/span&gt;] == &lt;span style="color: #2700dc;"&gt;0&lt;/span&gt;) {&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #7925ac;"&gt;NSURLCredential&lt;/span&gt; *newCredential;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; newCredential=[&lt;span style="color: #7925ac;"&gt;NSURLCredential&lt;/span&gt; &lt;span style="color: #430083;"&gt;credentialWithUser&lt;/span&gt;:&lt;span style="color: #e50000;"&gt;@"username"&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #430083;"&gt;password&lt;/span&gt;:&lt;span style="color: #e50000;"&gt;@"password"&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #430083;"&gt;persistence&lt;/span&gt;:&lt;span style="color: #430083;"&gt;NSURLCredentialPersistenceNone&lt;/span&gt;];&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [[challenge &lt;span style="color: #430083;"&gt;sender&lt;/span&gt;] &lt;span style="color: #430083;"&gt;useCredential&lt;/span&gt;:newCredential&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="color: #430083;"&gt;forAuthenticationChallenge&lt;/span&gt;:challenge];&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&amp;nbsp; &amp;nbsp; } &lt;span style="color: #cd00a3;"&gt;else&lt;/span&gt; {&lt;/div&gt;&lt;div style="color: #430083; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; [[challenge &lt;/span&gt;sender&lt;span style="color: black;"&gt;] &lt;/span&gt;cancelAuthenticationChallenge&lt;span style="color: black;"&gt;:challenge];&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&amp;nbsp; &amp;nbsp; }&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&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/7913599600546737675-1475574414723416030?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/1475574414723416030/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/nsurlerrordomain-error-1012.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/1475574414723416030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/1475574414723416030'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/nsurlerrordomain-error-1012.html' title='NSURLErrorDomain error -1012'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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-7913599600546737675.post-233603597676730360</id><published>2010-07-08T07:01:00.001-04:00</published><updated>2010-07-08T07:39:55.171-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='uitableviewcell'/><title type='text'>Changing UITableViewCell text colors</title><content type='html'>This is a really easy but, but may not be immediately apparent. Personally, I first tried changing the color of the cell directly, then tried changing the color of the text within the cells. What you actually need to do is change the textColor property of the UILabel's that are inside of the cell. For example, if you want to change the color of the textLabel, you would use:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;div style="color: #7925ac; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;cell.&lt;/span&gt;textLabel&lt;span style="color: black;"&gt;.&lt;/span&gt;textColor&lt;span style="color: black;"&gt; = [&lt;/span&gt;UIColor&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;span style="color: #430083;"&gt;lightGrayColor&lt;/span&gt;&lt;span style="color: black;"&gt;];&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;The same goes for the detail label if you are using that type of cell:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;div style="color: #7925ac; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;cell.&lt;/span&gt;detailTextLabel&lt;span style="color: black;"&gt;.&lt;/span&gt;textColor&lt;span style="color: black;"&gt; = [&lt;/span&gt;UIColor&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;span style="color: #430083;"&gt;blackColor&lt;/span&gt;&lt;span style="color: black;"&gt;];&lt;/span&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/7913599600546737675-233603597676730360?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/233603597676730360/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/changing-uitableviewcell-text-colors.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/233603597676730360'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/233603597676730360'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/07/changing-uitableviewcell-text-colors.html' title='Changing UITableViewCell text colors'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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-7913599600546737675.post-7011419502979007387</id><published>2010-06-13T21:28:00.000-04:00</published><updated>2010-06-13T21:28:43.294-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='constant'/><category scheme='http://www.blogger.com/atom/ns#' term='objective-c'/><title type='text'>Declaring constants in Objective-C</title><content type='html'>Yes, I'm back! Sadly my last post was in January, but I'm hoping to get back on the wagon here adding tips and tricks. Today I'll bring you the rather simple task of declaring and using constants in Objective-C. Let's assume you want to declare an NSString constant in your class that holds a url. In your header .h file you will need the following:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;div style="color: #e50000; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #814726;"&gt;#import&amp;nbsp;&lt;/span&gt;&lt;foundation/foundation.h&gt;&lt;/foundation/foundation.h&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 13.0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #cd00a3; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;extern&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;span style="color: #7925ac;"&gt;NSString&lt;/span&gt;&lt;span style="color: black;"&gt; * &lt;/span&gt;const&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;span style="color: #3a8288;"&gt;BaseURL&lt;/span&gt;&lt;span style="color: black;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 13.0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #cd00a3;"&gt;@interface&lt;/span&gt; ClassName : NSObject {&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;You will then need to set it's value in your main .m file as follows:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;div style="color: #e50000; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #814726;"&gt;#import &lt;/span&gt;"ClassName.h"&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 13.0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #e50000; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;NSString * &lt;/span&gt;&lt;span style="color: #cd00a3;"&gt;const&lt;/span&gt;&lt;span style="color: black;"&gt; BaseURL = &lt;/span&gt;@"http://some.url.com/path/"&lt;span style="color: black;"&gt;;&lt;/span&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 13.0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #cd00a3; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;@implementation&lt;span style="color: black;"&gt; ClassName&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;You can now access this constant throughout your class or subclasses. Here's an example of usage:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;div style="color: #e50000; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7925ac;"&gt;NSString&lt;/span&gt;&lt;span style="color: black;"&gt; *urlString = [&lt;/span&gt;&lt;span style="color: #7925ac;"&gt;NSString&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;span style="color: #430083;"&gt;stringWithFormat&lt;/span&gt;&lt;span style="color: black;"&gt;:&lt;/span&gt;@"%@%@"&lt;span style="color: black;"&gt;, &lt;/span&gt;&lt;span style="color: #3a8288;"&gt;BaseURL&lt;/span&gt;&lt;span style="color: black;"&gt;, &lt;/span&gt;@"filename.html"&lt;span style="color: black;"&gt;];&lt;/span&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/7913599600546737675-7011419502979007387?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/7011419502979007387/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/06/declaring-constants-in-objective-c.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/7011419502979007387'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/7011419502979007387'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/06/declaring-constants-in-objective-c.html' title='Declaring constants in Objective-C'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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-7913599600546737675.post-8402982314998064549</id><published>2010-01-26T09:23:00.001-05:00</published><updated>2010-01-26T09:24:41.977-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UITextFieldDelegate'/><category scheme='http://www.blogger.com/atom/ns#' term='UITextField'/><category scheme='http://www.blogger.com/atom/ns#' term='UIKeyboard'/><title type='text'>Disabling keyboard on UITextField selection</title><content type='html'>There are often cases where you want the look of UITextField but don't want to use the keyboard. There are a few hacky ways such as hidden buttons overlaying text fields, but I think this is the most intelligent way to disable the show of the UIKeyboard, and replacing it with something of your choice:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;span style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;- (&lt;span style="color: #cd00a3;"&gt;BOOL&lt;/span&gt;)&lt;wbr&gt;&lt;/wbr&gt;textFieldShouldBeginEditing:(&lt;span style="color: #7925ac;"&gt;U&lt;wbr&gt;&lt;/wbr&gt;ITextField&lt;/span&gt;&amp;nbsp;*)textField {&lt;span style="font-family: Menlo, sans-serif; font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="font-family: Menlo, sans-serif; font-size: small;"&gt;&lt;span style="font-size: 11px;"&gt;&lt;span style="color: #008b00; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;span style="color: black;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;/&lt;span style="white-space: pre;"&gt;/ Make a new view, or do what you want here&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #430083; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="color: black;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #7925ac;"&gt;UIDatePicker&lt;/span&gt;&lt;span style="color: black;"&gt;&amp;nbsp;*pv = [[&lt;/span&gt;&lt;span style="color: #7925ac;"&gt;UIDatePicker&lt;/span&gt;&lt;span style="color: black;"&gt;&amp;nbsp;&lt;/span&gt;alloc&lt;span style="color: black;"&gt;]&amp;nbsp;&lt;/span&gt;initWithFrame&lt;span style="color: black;"&gt;:&lt;/span&gt;CGRectMake&lt;span style="color: black;"&gt;(&lt;/span&gt;&lt;span style="color: #2700dc;"&gt;0&lt;/span&gt;&lt;span style="color: black;"&gt;,&lt;/span&gt;&lt;span style="color: #2700dc;"&gt;185&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;wbr&gt;&lt;/wbr&gt;,&lt;/span&gt;&lt;span style="color: #2700dc;"&gt;0&lt;/span&gt;&lt;span style="color: black;"&gt;,&lt;/span&gt;&lt;span style="color: #2700dc;"&gt;0&lt;/span&gt;&lt;span style="color: black;"&gt;)];&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #430083; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="color: black;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;[&lt;/span&gt;&lt;span style="color: #cd00a3;"&gt;self&lt;/span&gt;&lt;span style="color: black;"&gt;.&lt;/span&gt;&lt;span style="color: #7925ac;"&gt;view&lt;/span&gt;&lt;span style="color: black;"&gt;&amp;nbsp;&lt;/span&gt;addSubview&lt;span style="color: black;"&gt;:pv];&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: normal normal normal 11px/normal Menlo; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px; min-height: 13px;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #cd00a3; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="color: black;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;return&lt;span style="color: black;"&gt;&amp;nbsp;&lt;/span&gt;NO&lt;span style="color: black;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;}&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;You'll need to be implementing UITextFieldDelegate, and you can catch this event prior to the framework showing the UIKeyboard. In the above example I am showing a UIDatePicker instead. Returning NO is what is making the keyboard not show, since we aren't actually letting the editing begin.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7913599600546737675-8402982314998064549?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/8402982314998064549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/01/disabling-keyboard-on-uitextfield.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/8402982314998064549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/8402982314998064549'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/01/disabling-keyboard-on-uitextfield.html' title='Disabling keyboard on UITextField selection'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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-7913599600546737675.post-1917989380607062422</id><published>2010-01-26T09:13:00.003-05:00</published><updated>2010-01-26T09:25:05.772-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UITextFieldDelegate'/><category scheme='http://www.blogger.com/atom/ns#' term='UITextField'/><category scheme='http://www.blogger.com/atom/ns#' term='UIKeyboard'/><title type='text'>Making the keyboard disappear</title><content type='html'>So... I said this blog was going to be about basics, right? Well, here's a really basic concept that may elude some folks. If you have a UITextField on your view, and are implemented UITextFieldDelegate in your delegate class, perhaps you have noticed that after you enter some text using the keyboard for your field, the keyboard won't disappear when you hit return? Well, here's all you have to do:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;span style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;- (&lt;span style="color: #cd00a3;"&gt;BOOL&lt;/span&gt;)textFieldShouldReturn:(&lt;span style="color: #7925ac;"&gt;U&lt;wbr&gt;&lt;/wbr&gt;ITextField&lt;/span&gt;&amp;nbsp;*)textField {&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #430083; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="color: black;"&gt;&lt;span style="white-space: pre;"&gt;  &lt;/span&gt;[&lt;/span&gt;&lt;span style="color: #3a8288;"&gt;textField&lt;/span&gt;&lt;span style="color: black;"&gt;&amp;nbsp;&lt;/span&gt;resignFirstResponder&lt;span style="color: black;"&gt;];&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #cd00a3; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="color: black;"&gt;&lt;span style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/span&gt;return&lt;span style="color: black;"&gt;&amp;nbsp;&lt;/span&gt;YES&lt;span style="color: black;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;}&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Since you are implementing the UITextFieldDelegate class, this method will be called on Return, your text field will give up focus, and the UIKeyboard will disappear. If you want to be more particular and a little safer in your method you can do the following:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;- (&lt;span style="color: #cd00a3;"&gt;BOOL&lt;/span&gt;)textFieldShouldReturn:(&lt;span style="color: #7925ac;"&gt;U&lt;wbr&gt;&lt;/wbr&gt;ITextField&lt;/span&gt;&amp;nbsp;*)textField {&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&amp;nbsp;&amp;nbsp;if(textField == [self yourTextField]) {&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="color: #430083; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="color: black;"&gt;&lt;span style="white-space: pre;"&gt;       &lt;/span&gt;[&lt;/span&gt;&lt;span style="color: #3a8288;"&gt;textField&lt;/span&gt;&lt;span style="color: black;"&gt;&amp;nbsp;&lt;/span&gt;resignFirstResponder&lt;span style="color: black;"&gt;];&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="color: black;"&gt;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="color: #cd00a3; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="color: black;"&gt;&lt;span style="white-space: pre;"&gt;  &lt;/span&gt;&lt;/span&gt;return&lt;span style="color: black;"&gt;&amp;nbsp;&lt;/span&gt;YES&lt;span style="color: black;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;}&lt;br /&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/7913599600546737675-1917989380607062422?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/1917989380607062422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/01/making-keyboard-disappear.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/1917989380607062422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/1917989380607062422'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/01/making-keyboard-disappear.html' title='Making the keyboard disappear'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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-7913599600546737675.post-6605553700767747885</id><published>2010-01-25T13:24:00.000-05:00</published><updated>2010-01-25T13:24:47.979-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='REST'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><title type='text'>REST calls using Objective-C</title><content type='html'>Over the weekend I was working on a project where I needed to create some REST calls to an XML service. I already created a generic SOAP Request class in the past, so I figured this would be a little simpler. Before going and re-inventing the wheel I took a quick look around the web and found this excellent Base REST Client class out on the web, so I wanted to share the &lt;a href="http://blogs.captechventures.com/blog/jack-cox/tutorial-simple-iphone-rest-client"&gt;link&lt;/a&gt; with everyone.&lt;br /&gt;&lt;br /&gt;I still pains me that I can't use XPATH or XSL in the iPhone SDK. Do you hear me Apple?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7913599600546737675-6605553700767747885?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/6605553700767747885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/01/rest-calls-using-objective-c.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/6605553700767747885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/6605553700767747885'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/01/rest-calls-using-objective-c.html' title='REST calls using Objective-C'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7913599600546737675.post-4550625405820191080</id><published>2010-01-20T22:31:00.003-05:00</published><updated>2010-01-20T22:34:54.411-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='abstract'/><category scheme='http://www.blogger.com/atom/ns#' term='objective-c'/><title type='text'>"Abstract Classes" in Objective-C</title><content type='html'>One of my favorite interview questions for a programming position is "What is the difference between a class, an abstract class, and an interface?". You'd be surprised how many people can't answer that. Anyways, that's my intro to today's lesson, where we attempt to create an abstract class in Objective-C. &lt;br /&gt;&lt;br /&gt;Hopefully by now you know that an interface is a type whose methods are devoid of implementation, and it cannot serve as an instantiated class on it's own; it's not actually a class. An abstract class can have methods devoid of implementation, but has at least one method that contains implementation. It also contains member variables.&lt;br /&gt;&lt;br /&gt;Enough of the introduction, and let's get down to business. First off, you cannot create an abstract class in Objective-C; there is no abstract modifier. I recently had the need for an abstract class and an interface in a project I was working on, and I emulated an abstract class to the best of my ability. Here's what I came up with:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;span style="color: #814726;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #814726;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: #814726;"&gt;&lt;div style="color: #008b00; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;//&amp;nbsp;&amp;nbsp;MyObject.h&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="color: #e50000; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #814726;"&gt;#import &lt;/span&gt;&lt;foundation/foundation.h&gt;&lt;/foundation/foundation.h&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 13.0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #cd00a3;"&gt;@protocol&lt;/span&gt; IMyObject&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;-(&lt;span style="color: #cd00a3;"&gt;void&lt;/span&gt;) myMethod;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #cd00a3; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;@end&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 13.0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #cd00a3;"&gt;@interface&lt;/span&gt; MyObject : NSObject&lt;imyobject&gt;&lt;imyobject&gt; {&lt;/imyobject&gt;&lt;/imyobject&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #7925ac; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;NSUInteger&lt;span style="color: black;"&gt; &lt;/span&gt;&lt;span style="color: #3a8288;"&gt;myID&lt;/span&gt;&lt;span style="color: black;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;}&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 13.0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #cd00a3;"&gt;@property&lt;/span&gt; (&lt;span style="color: #cd00a3;"&gt;nonatomic&lt;/span&gt;) NSUInteger myID;&lt;br /&gt;&lt;br /&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;-(&lt;span style="color: #cd00a3;"&gt;void&lt;/span&gt;) myMethod2;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 13.0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #cd00a3; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;@end&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #008b00; font-family: Menlo; font-size: small;"&gt;&lt;span style="font-size: 11px;"&gt;&lt;span style="color: #cd00a3;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;span style="color: #cd00a3; font-family: Menlo; font-size: small;"&gt;&lt;span style="font-size: 11px;"&gt;&lt;div style="color: #008b00; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;//&amp;nbsp; MyObject&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #e50000; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #814726;"&gt;#import &lt;/span&gt;"MyObject.h"&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 13.0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #cd00a3; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;@implementation&lt;span style="color: black;"&gt; MyObject&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 13.0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #cd00a3; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;@synthesize&lt;span style="color: black;"&gt; myID;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 13.0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;- (&lt;span style="color: #cd00a3;"&gt;id&lt;/span&gt;)init&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;{&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #430083; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;[&lt;/span&gt;&lt;span style="color: #cd00a3;"&gt;self&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;doesNotRecognizeSelector&lt;span style="color: black;"&gt;:&lt;/span&gt;&lt;span style="color: #cd00a3;"&gt;_cmd&lt;/span&gt;&lt;span style="color: black;"&gt;];&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #430083; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;[&lt;/span&gt;&lt;span style="color: #cd00a3;"&gt;self&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;release&lt;span style="color: black;"&gt;];&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #cd00a3; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;/span&gt;return&lt;span style="color: black;"&gt; &lt;/span&gt;nil&lt;span style="color: black;"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;}&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 13.0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;-(&lt;span style="color: #cd00a3;"&gt;void&lt;/span&gt;) myMethod {&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #430083; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;[&lt;/span&gt;&lt;span style="color: #cd00a3;"&gt;self&lt;/span&gt;&lt;span style="color: black;"&gt; &lt;/span&gt;doesNotRecognizeSelector&lt;span style="color: black;"&gt;:&lt;/span&gt;&lt;span style="color: #cd00a3;"&gt;_cmd&lt;/span&gt;&lt;span style="color: black;"&gt;];&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;}&lt;br /&gt;&lt;br /&gt;-(void) myMethod2 {&lt;br /&gt;&lt;span style="color: #008b00;"&gt;&amp;nbsp;&amp;nbsp;//do stuff&lt;/span&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 13.0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #cd00a3; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;@end&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;So, the above class header file contains a nested @protocol which declares a required method signature. You can declare optional methods inside the @protocol with a @optional declaration. Essentially, the protocol is defining my interface. Next I declare my actual class and implement my IMyObject interface, which "forces" me to implement myMethod. I quote the "forces" in that last because the compiler really just gives me a warning, not a full error.&lt;br /&gt;&lt;br /&gt;I've also declared a member variable myID and a property for it in my "abstract" class implementation, along with myMethod2, which can contain actual implementation to inherit to the subclasses of this "abstract" class. It is key to note the [self doesNotRecognizeSelector:_cmd]; lines, where I am basically using that to declare the method as abstract. It will throw an error if you try to call the method on the base call. If you put that within your init method, the class will not be able to be instantiated on its own.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7913599600546737675-4550625405820191080?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/4550625405820191080/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/01/abstract-classes-in-objective-c.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/4550625405820191080'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/4550625405820191080'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/01/abstract-classes-in-objective-c.html' title='&quot;Abstract Classes&quot; in Objective-C'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7913599600546737675.post-321178033662342110</id><published>2010-01-18T18:56:00.008-05:00</published><updated>2010-01-18T19:11:37.194-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='uitableviewcontroller'/><category scheme='http://www.blogger.com/atom/ns#' term='exception'/><title type='text'>UITableViewController subclassing in XCode has incorrect stub</title><content type='html'>If you've ever tried to create a UITableViewController subclass using XCode with SDK 3.x (3.1.2 at the time of this writing), it is important to note that the commented out code in the didSelectRowAtIndexPath method is incorrect.&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;- (&lt;span style="color: #cd00a3;"&gt;void&lt;/span&gt;)tableView:(&lt;span style="color: #7925ac;"&gt;UITableView&lt;/span&gt; *)&lt;span style="color: #7925ac;"&gt;tableView&lt;/span&gt; didSelectRowAtIndexPath:(&lt;span style="color: #7925ac;"&gt;NSIndexPath&lt;/span&gt; *)indexPath {&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #008b00; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;//Navigation logic may go here. Create and push another view controller.&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="white-space: pre;"&gt;    &lt;/span&gt;AnotherViewController *anotherViewController = [[AnotherViewController &lt;span style="color: #430083;"&gt;alloc&lt;/span&gt;] &lt;span style="color: #430083;"&gt;initWithNibName&lt;/span&gt;:&lt;span style="color: #e50000;"&gt;@"AnotherView"&lt;/span&gt; &lt;span style="color: #430083;"&gt;bundle&lt;/span&gt;:&lt;span style="color: #cd00a3;"&gt;nil&lt;/span&gt;];&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="white-space: pre;"&gt;    &lt;/span&gt;[&lt;span style="color: #cd00a3;"&gt;self&lt;/span&gt;.&lt;span style="color: #7925ac;"&gt;navigationController&lt;/span&gt; pushViewController:anotherViewController];&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="white-space: pre;"&gt;    &lt;/span&gt;[anotherViewController &lt;span style="color: #430083;"&gt;release&lt;/span&gt;];&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;}&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;If you try to modify the above code to use one of your own custom view controllers, you will see a compilation warning stating:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;span style="font-family: Menlo; font-size: 11px;"&gt;&amp;nbsp;&amp;nbsp;'UINavigationController' may not respond to '-pushViewController:'&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;If you actually try to run your application and select an item which tries to push an additional view controller, an exception will be thrown that states:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;span style="font-family: Menlo; font-size: 11px;"&gt;&amp;nbsp;&amp;nbsp;[NSObject doesNotRecognizeSelector:]&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The exception is definitely very misleading. The reason for both of the above problems is a second required parameter for this call, as follows:&lt;br /&gt;&lt;br /&gt;&lt;div class="code"&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;- (&lt;span style="color: #cd00a3;"&gt;void&lt;/span&gt;)tableView:(&lt;span style="color: #7925ac;"&gt;UITableView&lt;/span&gt; *)&lt;span style="color: #7925ac;"&gt;tableView&lt;/span&gt; didSelectRowAtIndexPath:(&lt;span style="color: #7925ac;"&gt;NSIndexPath&lt;/span&gt; *)indexPath {&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #008b00; font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&amp;nbsp; &amp;nbsp; &lt;/span&gt;//Navigation logic may go here. Create and push another view controller.&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="white-space: pre;"&gt;    &lt;/span&gt;AnotherViewController *anotherViewController = [[AnotherViewController &lt;span style="color: #430083;"&gt;alloc&lt;/span&gt;] &lt;span style="color: #430083;"&gt;initWithNibName&lt;/span&gt;:&lt;span style="color: #e50000;"&gt;@"AnotherView"&lt;/span&gt; &lt;span style="color: #430083;"&gt;bundle&lt;/span&gt;:&lt;span style="color: #cd00a3;"&gt;nil&lt;/span&gt;];&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="white-space: pre;"&gt;    &lt;/span&gt;[&lt;span style="color: #cd00a3;"&gt;self&lt;/span&gt;.&lt;span style="color: #7925ac;"&gt;navigationController&lt;/span&gt; &lt;span style="color: #430083;"&gt;pushViewController&lt;/span&gt;:anotherViewController &lt;span style="color: #430083;"&gt;animated&lt;/span&gt;:&lt;span style="color: #cd00a3;"&gt;YES&lt;/span&gt;];&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="white-space: pre;"&gt;    &lt;/span&gt;[anotherViewController &lt;span style="color: #430083;"&gt;release&lt;/span&gt;];&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Menlo; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;}&lt;br /&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/7913599600546737675-321178033662342110?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/321178033662342110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/01/uitableviewcontroller-subclassing-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/321178033662342110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/321178033662342110'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/01/uitableviewcontroller-subclassing-in.html' title='UITableViewController subclassing in XCode has incorrect stub'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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-7913599600546737675.post-5940956119110807853</id><published>2010-01-18T12:51:00.000-05:00</published><updated>2010-01-18T12:51:21.722-05:00</updated><title type='text'>iPhone Application Development - First Steps</title><content type='html'>&lt;a href="http://www.blogger.com/"&gt;&lt;/a&gt;&lt;span id="goog_1263836505962"&gt;&lt;/span&gt;&lt;span id="goog_1263836505963"&gt;&lt;/span&gt;&lt;span style="font-family: 'Lucida Grande'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;Your first step in the wonderful world of iPhone SDK Development is to download the SDK, err... I mean, register for the iPhone Development Program... oh wait... you actually need a Mac... that's right :) Ok, let's try to make this more clear:&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 11px;"&gt;Obtain a modern day Intel based Mac running Mac OS X Leopard. My suggestion is a Macbook Pro due to it's portability. Always check out the Refurb section of the Apple store!&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: 'Lucida Grande'; font-size: 11px;"&gt;&lt;a href="http://developer.apple.com/iphone/program/start/register/"&gt;Register&lt;/a&gt; for the iPhone Developer Program&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: 'Lucida Grande'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;&lt;a href="http://developer.apple.com/iphone/index.action"&gt;Download&lt;/a&gt; the latest version of the iPhone SDK, including XCode&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: 'Lucida Grande'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;Install the SDK&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: 'Lucida Grande'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;Follow the &lt;a href="http://developer.apple.com/iphone/library/documentation/Xcode/Conceptual/iphone_development/100-iPhone_Development_Quick_Start/iphone_development_quick_start.html"&gt;iPhone Development Quick Start&lt;/a&gt; guide&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;span style="font-family: 'Lucida Grande'; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px;"&gt;I won't waste the time to completely go through a basic Hello World application, so instead I'll link you to an excellent beginner's resource - the &lt;a href="http://developer.apple.com/iphone/library/documentation/Xcode/Conceptual/iphone_development/100-iPhone_Development_Quick_Start/iphone_development_quick_start.html"&gt;iPhone Development Quick Start&lt;/a&gt; from Apple themselves. Depending upon your experience level with C-based programming languages, another recommendation of mine is to read through Apple's primer on &lt;a href="http://developer.apple.com/iphone/library/referencelibrary/GettingStarted/Learning_Objective-C_A_Primer/index.html#//apple_ref/doc/uid/TP40007594"&gt;Learning Objective-C&lt;/a&gt;, which I will not lie about... it can be a doozy at times.&lt;/span&gt;&lt;/span&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/7913599600546737675-5940956119110807853?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/5940956119110807853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/01/iphone-application-development-first.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/5940956119110807853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/5940956119110807853'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/01/iphone-application-development-first.html' title='iPhone Application Development - First Steps'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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-7913599600546737675.post-4365351596020534009</id><published>2010-01-18T11:54:00.000-05:00</published><updated>2010-01-18T11:54:59.685-05:00</updated><title type='text'>Welcome to iPhone SDK Basics</title><content type='html'>During my own learning of various iPhone Development techniques over the past several months, I grew tired of the constant search for tips and tutorials related to the basics of iPhone application development. I'm talking about general layouts and navigation flow - things like setting up an application that has a tab bar and some tableviews, etc. Given my background in software engineering, some things that looked to be rather simple were much more complex than I expected.&lt;br /&gt;&lt;br /&gt;I'll also be posting links to valuable resources that I found throughout the web.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7913599600546737675-4365351596020534009?l=iphonesdkbasics.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://iphonesdkbasics.blogspot.com/feeds/4365351596020534009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/01/welcome-to-iphone-sdk-basics.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/4365351596020534009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7913599600546737675/posts/default/4365351596020534009'/><link rel='alternate' type='text/html' href='http://iphonesdkbasics.blogspot.com/2010/01/welcome-to-iphone-sdk-basics.html' title='Welcome to iPhone SDK Basics'/><author><name>S.W.</name><uri>http://www.blogger.com/profile/12513037979388596063</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>
