Core Data Persistent Store Coordinator NSURL error
<p>I've been working on an app that takes user ratings about mood. I am using Core Data to store this data. Initially, I am trying to store ratings and strings of "accomplishments". I've set up an entity in Core Data called "Day" with attributes date (of type Date), dailyRating (of type Int16), dailyAccomp (of type String), and dailyAccompRating (of type Int16). My app crashes within my app delegate's Core Data persistentStoreCoordinator method at the following stmnt:</p>

<pre><code>NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"SelfEsteemBldr.sqlite"];
</code></pre>

<p>The error that I'm given is </p>

<p><strong>[NSPathStore2 URLByAppendingPathComponent:]: unrecognized selector sent to instance 0x4d6f440.</strong> </p>

<p>Maybe a little background about how the error comes about might be helpful. </p>

<p>My Main window has a tab bar controller as the rootViewController. Within the tab for the CD model (LogViewController), I've set up a tableView Controller within a navigation controller. The nav bar has an add button, that pushes a new view that basically has textfields so the user can enter the relevant data. Within that view, there is a nav bar with a Done button. When the user is done, the Done button changes to a Save button. When I tap the Save button, the app crashes. The Save button is a UIButtonItem within ViewDidLoad. Here's the code for the save button:</p>

<pre><code>UIBarButtonItem *newSaveButton = 
[[UIBarButtonItem alloc] 
 initWithTitle:NSLocalizedString(@"Save", nil)
 style:UIBarButtonItemStylePlain
 target:self
 action:@selector(performAddNewDay:)];
self.saveButton = newSaveButton;
[newSaveButton release];
</code></pre>

<p>The performAddNewDay method within the UIButtonItem looks like this:</p>

<pre><code>- (void)  performAddNewDay:(id)paramSender{

SelfEsteemBldrAppDelegate *delegate = (SelfEsteemBldrAppDelegate *) 
[[UIApplication sharedApplication] delegate];

NSManagedObjectContext *context = delegate.managedObjectContext;

NSLog(@"Past init point in PerformAddNewDay");


// Get the values from the text fields

NSInteger dailyRatingAsInteger = [self.textFieldDailyRating.text integerValue];
NSNumber *ddailyRating = [NSNumber numberWithInteger:dailyRatingAsInteger];
NSLog(@"Daily Rating Entered is %@", ddailyRating);

NSString *ddailyAccomplishment = self.textFieldAccomplishment.text;
NSLog(@"Daily Accomplishment Entered is %@", ddailyAccomplishment);

NSInteger dailyAccompRatingAsInteger = [self.textFieldAccomplishmentRating.text integerValue];
NSNumber *ddailyAccompRating = [NSNumber numberWithInteger:dailyAccompRatingAsInteger];
NSLog(@"Daily Accomp Rating Entered is %@", ddailyAccompRating);


// Create a new instance of Day 
Day *newDay = [NSEntityDescription 
                     insertNewObjectForEntityForName:@"Day"
                     inManagedObjectContext:context];


if (newDay != nil){

    // Set the properties according to the values we retrieved from the text fields 

    newDay.dailyAccomp = ddailyAccomplishment;
    newDay.dailyRating = ddailyRating;
    newDay.dailyAccompRating = ddailyAccompRating;

    NSError *savingError = nil;

    // Save the new day 
    if ([context save:&amp;savingError] == YES){
        // If successful, simply go back to the previous screen 
        [self.navigationController popViewControllerAnimated:YES];
    } else {
        // If we failed to save, display a message 
        [self
         displayAlertWithTitle:NSLocalizedString(@"Saving", nil) 
         message:NSLocalizedString(@"Failed to save the context", nil)];
    }

} else {
    // We could not insert a new Day managed object 
    [self 
     displayAlertWithTitle:NSLocalizedString(@"New Day", nil)
     message:NSLocalizedString(@"Failed To Insert A New Day", nil)];
}
</code></pre>

<p>}</p>

<p>I've commented out most of the code to try to find the offending statement, and it seems to be</p>

<pre><code>**NSManagedObjectContext *context = delegate.managedObjectContext;**
</code></pre>

<p>That is, if I comment everything below and including this stmnt, app doesn't crash. It doesn't do anything, it just "waits" (as expected). If I uncomment this stmnt, app crashes. SelfEsteemBldrAppDelegate is also imported using the #import "SelfEsteemBldrAppDelegate.h' stmnt.  </p>

<p>Again, the error that I'm getting is in the Core Data Stack persistentStoreCoordinator method within SelfEsteemBldrAppDelegate.m. The crash occurs at the following:</p>

<pre><code>NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"SelfEsteemBldr.sqlite"];
</code></pre>

<p>The error that I'm given is </p>

<p><strong>[NSPathStore2 URLByAppendingPathComponent:]: unrecognized selector sent to instance 0x4d6f440</strong></p>

<p>So, after all that, any ideas as to why I might be getting this message, and what I can do to resolve it? From what I understand, I'm not supposed to interact with the Core Data Stack methods, so I don't want to fool around with that code. Any help would be greatly appreciated. Also, if I've left out any info you may need, please let me know. Thanks. </p>
