My answer will be a bit longer and probably slightly OT but I think it is better to provide you a knowledge of the concepts inside date management instead of a "copy and paste" answer.
Date management in fact even if intuitive is a quite complex task. In order to do this properly with Cocoa you must understand a few basic concepts.
The "date" concept itself is just a numerical representation of how many seconds elapsed from a reference date. This is an absolute measure and nothing can change it: if you say that now is time 0, in 10 seconds it will be time 10, and so on. It is represented by Cocoa with "NSDate".
Now to translate the "numerical date" to a "calendar date" you need to apply this numerical date to a "calendar" ("NSCalendar" Cocoa class). Clearly there are many types of calendars around so what you have to do is to pick the right calendar you want to use and then apply the numerical date to it: the effective result will be a "calendarized date". Note that the same "numerical date", which is common to all calendars as it is an absolute measure, will provide different results on different calendars. A calendar is all in all a complex algorithm or table that maps every single numerical date to a specific "calendar date".
The components that make a calendar date are called "date components" and are represented by the Cocoa class "NSDateComponents". As you may have understood, you cannot directly put in relation a "Date component" with a "Date" but you need to mediate them through the "Calendar". That's why all methods that put in relation the "Date" and "NSDateComponents" classes are defined in the "NSCalendar" class and this explains why a specific "NSDateComponents" instance is associated to a specific "NSCalendar" instance.
Finally your last step is to convert the "date component" to a "human readable format". To do this you use the "NSDateFormatter" object. While it would be more appropriate to link the date formatter to the date components, in order to facilitate the translation from a date to a string and vice versa NSDateFormatter methods play directly with NSDate objects instead of NSDateComponents. Obviously the NSDateFormatter class must be associated to a specific calendar (and be careful: it is initialized with a default calendar).
Now that you have this baggage of information you can easily understand how to proceed. Your task is to convert a date in "string format" to a date, in the same format, after 10 days.
So the tasks to be accomplished are (the code is below):
1. identify the Calendar you want to use
2. create a NSDateFormatter that accepts your input string and link the Calendar to it
3. use NSDateFormatter to import the string to a "NSDate"
4. use the NSCalendar to convert the date to a NSDateComponents object
5. add 10 days to the "day" component of NSDateComponents; don't take care of "end of month" or "end of year", because NSDateComponents + NSCalendar know how to do it!
6. use NSCalendar again to convert the new recalculated NSDateComponents instance to NSDate
7. use the NSDateFormatter you defined before to convert the new NSDate to a NSString.
You may ask: why I cannot just sum to my imported NSDate 10*24*60*60 seconds? while in most cases this solution will work, there are some cases where this operation will provide an incorrect result. E.g. in the daylight saving switch you revert the clock by 1 hour, that is 60*60 = 3600 seconds. This means that in your Calendar a 1 hr range of seconds will be mapped to two different date/times (1 hr before and 1 hr after the switch). This information is not known to NSDate but it is known by NSCalendar. You can visually see what's happening in this way: imagine an infinitely long line (the line of time) where every single "tick" in the line is 1 second. If you keep the "point in time" where you are now this tick will be associated to a specific date and time in your calendar and clock. Imagine now to identify the point in this timeline where you do the daylight saving switch and suppose you need at that time to revert your clock to 1 hour before. What you do is to cut the timeline in two pieces, then take the second half and overlap its first hour with the last hour of the first half. You will see then that the time is still going on but your calendar in this 1 hour overlap will be associated to two given range of times! this is an information known to your calendar + locale + time zone only, not to NSDate alone (by the way I intentionally skipped any discussion here about the "time zones" and "locale": they're relevant because time zone takes care of associating an absolute time to a effective time of day, while the locale can change some calendar rules, e.g. the daylight saving switch).
NSString *startDateStr = @"2013-02-25";
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
dateFormatter.calendar=calendar;
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSDate *startDate = [dateFormatter dateFromString:startDateStr];
NSDateComponents *startComponents = [calendar components:NSDayCalendarUnit|NSMonthCalendarUnit|NSYearCalendarUnit fromDate:startDate];
startComponents.day+=10;
NSDate *endDate = [calendar dateFromComponents:startComponents];
NSString *endDateStr = [dateFormatter stringFromDate:endDate];
NSLog(@"Date %@ + 10 days gives %@",startDateStr,endDateStr);
Note that the above calculations could have been simplified using the NSCalendar's dateByAddingComponents:toDate:options:
but I preferred the first method to give you a better picture of the interaction between the classes.