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

<channel>
	<title>unexpected[it] &#187; iPhone &#8211; iPad &#8211; Cocoa &#8211; ObjectiveC</title>
	<atom:link href="http://www.unexpectedit.com/category/iphone-ipad-cocoa-objectivec/feed" rel="self" type="application/rss+xml" />
	<link>http://www.unexpectedit.com</link>
	<description>Professional IT Blog</description>
	<lastBuildDate>Tue, 31 Jan 2012 21:55:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>iPhone UIKit / Foundantion Class</title>
		<link>http://www.unexpectedit.com/iphone-ipad-cocoa-objectivec/iphone-uikit-foundantion-class</link>
		<comments>http://www.unexpectedit.com/iphone-ipad-cocoa-objectivec/iphone-uikit-foundantion-class#comments</comments>
		<pubDate>Tue, 22 Jun 2010 09:24:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[iPhone - iPad - Cocoa - ObjectiveC]]></category>
		<category><![CDATA[checklist]]></category>
		<category><![CDATA[message box]]></category>
		<category><![CDATA[navigation controller]]></category>
		<category><![CDATA[switch view]]></category>
		<category><![CDATA[uitableview]]></category>
		<category><![CDATA[uiwebview]]></category>

		<guid isPermaLink="false">http://www.unexpectedit.com/?p=158</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<pre class="brush: cpp; title: ; notranslate">
//** Swiching Views **
//From FirstViewController
SecondViewController *controller = [[SecondViewController alloc] initWithNibName:@&quot;SecondView&quot; bundle:nil];
 controller.modalTransitionStyle = UIModalTransitionStyleCoverVertical;
 [self presentModalViewController:controller animated:YES];
 [controller release];

//** Navigation Controller **
//Pushing the First View Controller in App Delegate File
	- (void)applicationDidFinishLaunching {
		// Create a navigation controller
		navController = [[UINavigationController alloc] init];

		// Push the first view controller on the stack
	    MainMenuController *tmpController = [[MainMenuController alloc] initWithNibName:@&quot;MainMenuView&quot; bundle:nil];
    	[navController pushViewController:tmpController animated:NO];
	    [tmpController release];	

		[navController pushViewController:firstViewController animated:NO];
		// Add the navigation controller’s view to the window
		[window addSubview:navController.view];
		[window makeKeyAndVisible];
	}

//Push to add a view controller
	ViewController *newView = [[ViewController alloc] initWithNibName:@&quot;NewView&quot; bundle:nil];
	[self.navigationController pushViewController:newView animated:YES];
	[newView release];

//Go back / remove / pop to the View before
	[self.navigationController popViewControllerAnimated:YES];
//... or pop to the Root View
	[self.navigationController popToRootViewControllerAnimated:YES];

//Set to change the entire stack of view controllers
	- (void)setViewControllers:(NSArray *)viewControllers
			animated:(BOOL)animated;

//** Message Box / Pop up messages **
// Simple
	UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@&quot;PopUp!&quot; message: @&quot;...&quot; delegate:self cancelButtonTitle:@&quot;Wooohooo!&quot; otherButtonTitles:nil];
	[alert show];

// Extended
	NSString *msg = [[NSString alloc] initWithFormat:
		   @&quot;This is a Alert Box Message, %d, everything went OK.&quot;
		   , 123];

	UIAlertView *alert = [[UIAlertView alloc]
						  initWithTitle:@&quot;PopUp!&quot;
						  message:msg
						  delegate:self
						  cancelButtonTitle:@&quot;Wooohooo!&quot;
						  otherButtonTitles:nil];
	[alert show];
	[alert release];

// Question Dialog
	UIAlertView *alert = [[UIAlertView alloc] init];
	[alert setTitle:@&quot;Confirm&quot;];
	[alert setMessage:@&quot;Do you want to open Safari?&quot;];
	[alert setDelegate:self];
	[alert addButtonWithTitle:@&quot;Yes&quot;];
	[alert addButtonWithTitle:@&quot;No&quot;];
	[alert show];
	[alert release];

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
	if (buttonIndex == 0) {
		// Yes Code
		NSLog(@&quot;Yes&quot;);
	}
	else if (buttonIndex == 1) {
		// No
		NSLog(@&quot;No&quot;);
	}
}

//** Sharing Data Between Views / Use of a Singleton **
//ClassToShare.h
@interface ClassToShare : NSObject
{
	int profileId;
}
@property (nonatomic) int profileId;

+ (ClassToShare *)sharedSingleton;
@end

//ClassToShare.m
@implementation ClassToShare
@synthesize profileId;

+ (ClassToShare *)sharedSingleton
{
	static ClassToShare *sharedSingleton;
	@synchronized(self)
	{
		if (!sharedSingleton)
			sharedSingleton = [[ClassToShare alloc] init];
		return sharedSingleton;
	}
}
@end

//How To Use
//From AppDelegate.m (don't forget to add #import &quot;ClassToShare.h&quot;)
- (void)applicationDidFinishLaunching:(UIApplication *)application {
	ClassToShare *session = [ClassToShare sharedSingleton];
	session.profileId = 123;
	//[...]
}
//From Any View (don't forget to add #import &quot;ClassToShare.h&quot;)
	ClassToShare *session = [ClassToShare sharedSingleton];
	session.profileId; //123

//** UITableView Table Views Controller Code / Checklist Table **/
@interface SelectFilterController : UIViewController &lt;UITableViewDelegate, UITableViewDataSource&gt; {
	IBOutlet UITableView *uiTableView;
	NSArray *listData;
	NSIndexPath    * selectedIndexPath;
	int selectedRow;
}
@property (nonatomic, retain) IBOutlet UITableView *uiTableView;
@property (nonatomic, retain) NSArray *listData;
@property (nonatomic, assign) int selectedRow;
@end

@implementation SelectFilterController
@synthesize listData;
- (void)viewDidLoad {
    NSArray *array = [[NSArray alloc] initWithObjects:@&quot;One&quot;, @&quot;Two&quot;, @&quot;Three&quot;, nil];
    self.listData = array;
    [array release];
    [super viewDidLoad];
}
// [...]

- (void)viewDidAppear:(BOOL)animated {
	//tableViewController is a IBOutlet linked to UITableView object in the Interface Builder
	//With this you select programmatically a row in the tableview
	if(self.selectedRow &gt; -1) {
		NSIndexPath *indexPath = [NSIndexPath indexPathForRow:self.selectedRow inSection:0];
		[self.tableViewController.delegate tableView:self.tableViewController didSelectRowAtIndexPath:indexPath];
	}
}

#pragma mark -
#pragma mark Table View Data Source Methods
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
	return [self.listData count];
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
    static NSString *SimpleTableIdentifier = @&quot;SimpleTableIdentifier&quot;;
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:
                             SimpleTableIdentifier];
	if (cell == nil) {
		cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault
                                       reuseIdentifier: SimpleTableIdentifier] autorelease];
    }
    NSUInteger row = [indexPath row];
    cell.textLabel.text = [listData objectAtIndex:row];
    return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
	int newRow = [indexPath row];
	int oldRow;
	//check if selectedIndexPath exists
	if(selectedIndexPath != nil)
		[selectedIndexPath row];
	else
		-1;
	//select or deselect the check mark
	if (newRow != oldRow)
	{
		UITableViewCell *newCell = [tableView cellForRowAtIndexPath:indexPath];
		newCell.accessoryType = UITableViewCellAccessoryCheckmark;

		UITableViewCell *oldCell = [tableView cellForRowAtIndexPath:selectedIndexPath];
		oldCell.accessoryType = UITableViewCellAccessoryNone;

		selectedIndexPath = indexPath;
	}
	[tableView deselectRowAtIndexPath:indexPath animated:YES];
}
@end

//** UIWebView **
- (void)viewDidLoad {
	NSString *urlAddress = @&quot;http://www.apple.com/uk&quot;;
	//Create a URL object.
	NSURL *url = [NSURL URLWithString:urlAddress];
	//URL Requst Object
	NSURLRequest *requestObj = [NSURLRequest requestWithURL:url];
	//Load the request in the UIWebView.
	[webView loadRequest:requestObj];
}

//** UITextView **
IBOutlet UITextView *txtNotes;

txtNotes.font = [UIFont fontWithName:@&quot;Helvetica&quot; size: 13];
txtNotes.text = @&quot;Lorem ipsu ...&quot;;

- (BOOL)textFieldShouldReturn:(UITextField *)theTextField {
	[theTextField resignFirstResponder];
	return YES;
}

//** UIBarButtonItem **
/*
 Image Buttons
 - Toolbar and navigation bar icons: 20 x 20 pixels.
 - Tab bar icons: 30 x 30 pixels.
 */

/*
 PNG Image with:
 - Transparent background
 - Pure white with appropriate alpha.
 - Do not include a drop shadow.
 - Use anti-aliasing.
 */
UIBarButtonItem *button1 = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@&quot;Button1.png&quot;]
																style:UIBarButtonItemStylePlain
															   target:self
															   action:@selector(doStuff)];
/*
 PNG Full Color
 */
image = [UIImage imageNamed:@&quot;Button2.png&quot;];
button = [UIButton buttonWithType:UIButtonTypeCustom];
button.bounds = CGRectMake( 0, 0, image.size.width, image.size.height );
[button setImage:image forState:UIControlStateNormal];
[button addTarget:self action:@selector(myAction) forControlEvents:UIControlEventTouchUpInside];
UIBarButtonItem *button2 = [[UIBarButtonItem alloc] initWithCustomView:button];	

/*
 Space in between your toolbox buttons
 */
UIBarButtonItem *flexItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace
																		  target:nil
																		  action:nil];

/*
 Button with image and text
 */
UIBarButtonItem *button3 = [[UIBarButtonItem alloc] initWithTitle:@&quot;Text&quot;
																style:UIBarButtonItemStylePlain
															   target:self
															   action:@selector(pressButton2:)];
button3.image = [UIImage imageNamed:@&quot;Button3.png&quot;];

 //Add buttons to the array
NSArray *items = [NSArray arrayWithObjects: flexItem, button1, flexItem, button2, flexItem, button3, flexItem, button4, flexItem, nil];
//Release buttons
[button1 release];
[button2 release];
[button3 release];
[flexItem release];

/** Table View Controller **/
//Controller
@interface TableController : UITableViewController &lt;UITableViewDelegate, UITableViewDataSource&gt; {
IBOutlet UITableView *uiTableView;
}

#import &quot;MovieTableController.h&quot;
@implementation TableController {
- (void)viewDidLoad {
    [super viewDidLoad];
    //Customizing Table View
    uiTableView.rowHeight = 75;
    uiTableView.backgroundColor = [UIColor whiteColor];
    uiTableView.separatorColor = [UIColor grayColor];
}
</pre>
<div id="wpcr_respond_1"></div>]]></content:encoded>
			<wfw:commentRss>http://www.unexpectedit.com/iphone-ipad-cocoa-objectivec/iphone-uikit-foundantion-class/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone iPad &#8211; Cocoa Touch Classes</title>
		<link>http://www.unexpectedit.com/iphone-ipad-cocoa-objectivec/iphone-ipad-cocoa-touch-classes</link>
		<comments>http://www.unexpectedit.com/iphone-ipad-cocoa-objectivec/iphone-ipad-cocoa-touch-classes#comments</comments>
		<pubDate>Tue, 22 Jun 2010 09:22:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[iPhone - iPad - Cocoa - ObjectiveC]]></category>
		<category><![CDATA[@property]]></category>
		<category><![CDATA[@synthesize]]></category>
		<category><![CDATA[class]]></category>
		<category><![CDATA[IBAction]]></category>
		<category><![CDATA[IBOutlet]]></category>
		<category><![CDATA[implementation]]></category>
		<category><![CDATA[interface]]></category>

		<guid isPermaLink="false">http://www.unexpectedit.com/?p=156</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<pre class="brush: cpp; title: ; notranslate">
//The class declaration always begins with the @interface compiler directive and ends with the @end directive.
//MyClass.h
@interface MyClass : NSObject
{
	int count;
	NSString* name;
}
@property (nonatomic, retain) NSString *name;
@property (nonatomic, assign) int count;
-(MyClass*)thisIsAMethod:(NSString*)aName;
@end

//MyClass.m
@implementation MyClass
@synthesize name;
@synthesize count;
+ (void) initialize {
	self.name=[NSString stringWithFormat:@&quot;Something&quot;];
}
-(MyClass*)thisIsAMethod:(NSString*)aName {
	NSLog(aName);
	return self;
}
@end

//** Declared Properties **
@property BOOL flag;
@property (copy) NSString *nameObject;  // Copy the object during assignment.
@property (readonly) UIView *rootView;  // Declare only a getter method.
@property (retain) NSString *name; //Specifies that retain should be invoked on the object upon assignment.
@property (nonatomic) NSArray *array; //Specifies that accessors are non-atomic. By default, accessors are atomic.
//You can combine the @property in a single line if you want:
@property (nonatomic, assign) int number1, number2, number3;
//Note: Each readable property specifies a method with the same name as the property. Each writable property specifies an additional method of the form setPropertyName:, where the first letter of the property name is capitalized.

//In your class implementation, you can use the @synthesize  compiler directive to ask the compiler to generate the methods according to the specification in the declaration:
@synthesize flag;
@synthesize nameObject;
@synthesize rootView;
//You can combine the @synthesize statements in a single line if you want:
@synthesize flag, nameObject, rootView;

// UIAction and IBOutlet
// IBAction and IBOutlet are macros defined to point variables and methods to the Interface Builder.
@interface FirstView : UIViewController {
IBOutlet UITextField *personFilter; //this object will be able to point to a Text Field Input in the Interface
//[...]
}
-(IBAction) touchSearch:(id)sender; //this method will be able to point to an event in the Interface
@end

//** Methods and Messaging Syntax **
//Method declaration syntax:
- (void)insertObject:(id)anObject atIndex:(NSUInteger)index
// - is method type identifier
// (void) is Return type
// insertObject, atIndex: Method signature keyworks
// id, NSUInteger: Parameter types
// anObject, index: Parameter names
//Example
-(NSString *) getFilterName:(SearchFilters) filter
//Example
- (NSString *) getName:(NSString *)thisArray
                        atIndex:(int)index

//** Messaging **
//When you want to call a method, you do so by messaging an object.
//Messages are enclosed by brackets ([ and ]). Inside the brackets, the object receiving the message is on the left side and the message (along with any parameters required by the message) is on the right.
[myArray insertObject:anObject atIndex:0];
//To avoid declaring numerous local variables to store temporary results:
[[myAppObject theArray] insertObject:[myAppObject objectToInsert] atIndex:0];
//Objective-C also provides a dot syntax for invoking accessor methods:
[myAppObject.theArray insertObject:[myAppObject objectToInsert] atIndex:0];
//You can also use dot syntax for assignment:
myAppObject.theArray = aNewArray;
//The syntax for a class method declaration is identical to that of an instance method, with one exception. Instead of using a minus sign for the method type identifier, you use a plus (+) sign. 

//** Constructor **
+ (void) initialize {
  // Initialization for this class and any subclasses
}

//Strongly and weakly typed variable declarations:
//When storing objects in variables, you always use a pointer type. Objective-C supports both strong and weak typing for variables containing objects. Strongly typed pointers include the class name in the variable type declaration. Weakly typed pointers are used frequently for things such as collection classes, where the exact type of the objects in a collection may be unknown.
MyClass *myObject1;  // Strong typing
id       myObject2;  // Weak typing

More info: http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/ObjectiveC/
</pre>
<div id="wpcr_respond_1"></div>]]></content:encoded>
			<wfw:commentRss>http://www.unexpectedit.com/iphone-ipad-cocoa-objectivec/iphone-ipad-cocoa-touch-classes/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Objective-C &#8211; Fundamentals &#8211; Handbook</title>
		<link>http://www.unexpectedit.com/iphone-ipad-cocoa-objectivec/objective-c-fundamentals-handbook</link>
		<comments>http://www.unexpectedit.com/iphone-ipad-cocoa-objectivec/objective-c-fundamentals-handbook#comments</comments>
		<pubDate>Tue, 22 Jun 2010 09:17:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[iPhone - iPad - Cocoa - ObjectiveC]]></category>
		<category><![CDATA[array]]></category>
		<category><![CDATA[array of array]]></category>
		<category><![CDATA[arrays]]></category>
		<category><![CDATA[dictionary]]></category>
		<category><![CDATA[enum]]></category>
		<category><![CDATA[int to string]]></category>
		<category><![CDATA[memory management]]></category>
		<category><![CDATA[multiarrays]]></category>
		<category><![CDATA[NSDictionary]]></category>
		<category><![CDATA[NSMutableDictionary]]></category>
		<category><![CDATA[nsstring]]></category>
		<category><![CDATA[string to int]]></category>
		<category><![CDATA[strings]]></category>

		<guid isPermaLink="false">http://www.unexpectedit.com/?p=151</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<pre class="brush: cpp; title: ; notranslate">
//The Objective-C language is a simple computer language designed to enable sophisticated object-oriented programming.
//Objective-C extends the standard ANSI C language by providing syntax for defining classes, and methods, as well as other constructs that
//promote dynamic extension of classes.
.h //Header files.
.m //Source files. This is the typical extension used for source files and can contain both Objective-C and C code.
.mm //Source files. A source file with this extension can contain C++ code in addition to Objective-C and C code

//** Enum **
//declaration
typedef enum numberTypes
{
	ONE,
	TWO,
	THREE
} Numbers;
//use
Numbers x = TWO;
int num = (int)THREE;
//Null object is nil
NSMutableArray *myArray = nil;  // nil is essentially the same as NULL

/**
*
* Strings
*
*/
// Create a String.
NSString *myString;
NSString *myString2 = @&quot;My String\n&quot;;
NSString *myString3 = nil;

// Concatenate numbers and other strings
NSString *anotherString = [NSString stringWithFormat:@&quot;Number: %d and String: %s&quot;, 1, @&quot;My String&quot;];
//Double to String: %f 64-bit floating-point number (double)
//Char to String: %c
//int to string
[NSString stringWithFormat:@&quot;%d&quot;, number];
//or
[[NSNumber numberWithInt:number] stringValue];

// Create an Objective-C string from a C string
NSString *fromCString = [NSString stringWithCString:&quot;A C string&quot; encoding:NSASCIIStringEncoding];

//String to Number
//String to Int
int x = [strNumber intValue];
//String to Float
float x = [strNumber floatValue];
//String to Double
double x = [strNumber doubleValue];
// NSData to String
unsigned char buffer[[txtEmail.text length]];
[txtEmail.text getBytes:buffer length:[txtEmail.text length]];
NSLog(@&quot;Email: %s&quot;, buffer);
//Array to String
NSArray *cities  = [[NSArray alloc] initWithObjects:@&quot;Barcelona&quot;, @&quot;Madrid&quot;, @&quot;Medellin&quot;, nil];
NSString *string = [cities componentsJoinedByString: @&quot; / &quot;];
NSLog(string); //Barcelona / Madrid / Medellin
//Date to String
NSLog([[NSDate date] descriptionWithCalendarFormat: @&quot;%H:%M / %B %e, %Y&quot; timeZone: nil locale: nil]);

//Remove Carriage Returns or replace any character
NSString *textarea = @&quot;\n Text line1 \n Text line2\t more text\t \n Text line3\t\n  \n\n&quot;;
NSString *strOneLine = [textarea stringByReplacingOccurrencesOfString:@&quot;\n&quot; withString: @&quot;&quot;];
NSLog(strOneLine);

//Trim Strings
NSString *textarea2 = @&quot;\n Text line1 \t more text \t\n  \n\n&quot;;
NSString *trimstr = [textarea2 stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceAndNewlineCharacterSet]];
NSLog(trimstr);

/**
*
* Arrays
*
*/
// Create a new array .
NSArray *myArray = [[NSArray alloc] initWithObjects: @&quot;Cat&quot;,@&quot;Dog&quot;,@&quot;Horse&quot;,@&quot;Sheep&quot;, nil];

//Array of Arrays
NSMutableArray *searchFilters = [[NSMutableArray alloc] init];

// Initialize with Objects
NSArray *filters = [[NSArray alloc] initWithObjects: @&quot;Cat&quot;,@&quot;Dog&quot;,@&quot;Horse&quot;,@&quot;Sheep&quot;, nil];
[searchFilters addObject:filters];

filters = [[NSArray alloc] initWithObjects: @&quot;White&quot;,@&quot;Black&quot;,@&quot;Red&quot;,@&quot;Yellow&quot;, nil];
[searchFilters addObject:filters];

filters = [[NSArray alloc] initWithObjects: @&quot;£0 - £20&quot;,@&quot;£15 - £40&quot;,@&quot;£40 - £80&quot;,@&quot;+ £80&quot;,@&quot;Any price&quot;, nil];
[searchFilters addObject:filters];

/**
*
* Dictionary / Hash Collections
*
*/
 //Create the dictionary
NSMutableDictionary *dictionary = [[NSMutableDictionary alloc] init];
//Add data
[dictionary setObject:@&quot;Toys&quot; forKey:@&quot;34&quot;];
[dictionary setObject:@&quot;Kitchen&quot; forKey:@&quot;45&quot;];
[dictionary setObject:@&quot;Electronics&quot; forKey:@&quot;46&quot;];
//Get Data
NSLog([dictionary objectForKey:@&quot;34&quot;]);
//Get Keys ordered
NSArray* sortedKeys = [[myDict allKeys] sortedArrayUsingSelector:@selector(compare:)];
//Get Values (Note: It will be unsorted)
NSArray* values = [myDict allValues];

/**
*
* Memory Management
*
*/
//Use of the objects if Garbage Collection is supported and activated (e.g.: iPhoneMac OS X supported)
NSString *str = [NSString string];

// Use of the objects if Garbage Collection is not supported (e.g.: iPhone)
MyObject *obj = [[MyObject alloc] init];
[...]
[obj release];

//Note: EXEC_BAD_ACCESS error usually happens when trying to access an object released.
// Only release objects that you retain, copy, alloc, or new.

/**
*
* Protocols and Delegates
*
*/
//A protocol declares methods that can be implemented by any class. Protocols are not classes themselves.
//They simply define an interface that other objects are responsible for implementing. When you implement the methods of a protocol in one of your classes,
//your class is said to conform to that protocol.
@protocol MyProtocol
- (void)myProtocolMethod;
@end
</pre>
<div id="wpcr_respond_1"></div>]]></content:encoded>
			<wfw:commentRss>http://www.unexpectedit.com/iphone-ipad-cocoa-objectivec/objective-c-fundamentals-handbook/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

