I'm having trouble making a shopping cart sort-of concept in my app. I have my AppDelegate (named ST2AppDelegate) that contains an NSMutableArray called myCart. I want RecipeViewController.m to pass an NSString object to myCart, but every time I pass it the NSString and use NSLog to reveal the contents of the array, it is always empty.
Can anyone please tell me what I am doing wrong? I have worked on this code for days, and there is a line of code in which I don't understand at all what's going on (in the RecipeViewController.m, labeled as such).
Any help would be so appreciated... I'm just a beginner. Here are the relevant classes:
ST2AppDelegate.h:
#import <UIKit/UIKit.h>
@interface ST2AppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) NSMutableArray* myCart;
- (void)addToCart:(NSString*)item;
- (void)readCartContents;
@end
ST2AppDelegate.m:
#import "ST2AppDelegate.h"
@implementation ST2AppDelegate
@synthesize myCart;
// all the 'applicationDid...' methods...
- (void)addToCart:(NSString *)item
{
    [self.myCart addObject:item];
}
- (void)readCartContents
{
    NSLog(@"Contents of cart: ");
    int count = [myCart count];
    for (int i = 0; i < count; i++)
    {
        NSLog(@"%@", myCart[count]);
    }
}
@end
RecipeDetailViewController.h:
#import <UIKit/UIKit.h>
#import "ST2AppDelegate.h"
@interface RecipeDetailViewController : UIViewController 
@property (nonatomic, strong) IBOutlet UILabel* recipeLabel;
@property (nonatomic, strong) NSString* recipeName;
@property (nonatomic, strong) IBOutlet UIButton* orderNowButton;
- (IBAction)orderNowButtonPress:(id)sender;
@end
RecipeDetailViewController.m:
#import "RecipeDetailViewController.h"
@implementation RecipeDetailViewController
@synthesize recipeName;
@synthesize orderNowButton;
// irrelevant methods...
- (IBAction)orderNowButtonPress:(id)sender
{
    // alter selected state
    [orderNowButton setSelected:YES];
    NSString* addedToCartString = [NSString stringWithFormat:@"%@ added to cart!",recipeName];
    [orderNowButton setTitle:addedToCartString forState:UIControlStateSelected];
    // show an alert
    NSString* addedToCartAlertMessage = [NSString stringWithFormat:@"%@ has been added to your cart.", recipeName];
    UIAlertView* addedToCartAlert = [[UIAlertView alloc] initWithTitle:@"Cart Updated" message:addedToCartAlertMessage  delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil];
    [addedToCartAlert show];
    // add to cart (I don't understand this, but it works)
    [((ST2AppDelegate*)[UIApplication sharedApplication].delegate) addToCart:recipeName];
    // read cart contents
    [((ST2AppDelegate*)[UIApplication sharedApplication].delegate) readCartContents];
}
@end
 
     
     
    