2011-08-18 122 views
0

iPad应用程序粉丝:ModalViewController不保存到核心数据?

我有一个modalviewcontroller设计为在按钮上点击,以便用户可以添加注释或更改数据输入。在对数据库进行更改时,需要刷新主窗口中的表格。数据库包含一种高级书签。我可以根据用户浏览的位置创建和删除数据库条目 - 没问题:我得到控制台报告“saveContext KQVC line 203”,并且条目被快速添加到表格中。

的modalviewcontroller甚至弹出(上轻敲蓝色(>)细节图标也在每个小区中)与现有记录填充的数据。但是保存在modalviewcontroller 按钮只是不保存。 (删除功能很好)。这里是我的modalviewcontroller代码保存按钮:在knittingqueenviewcontroller

#import "PatternViewController.h" 
#import "KnittingQueenViewController.h" 

@implementation PatternViewController 
@dynamic patternName, patternNotes, patternUrl, dateAdded; 
@synthesize patternA, patternView, knittingQueenViewController; 

-(IBAction)save { 
    [patternA setValue:patternName.text forKey:@"patternName"]; 
    [patternA setValue:patternUrl.text forKey:@"patternUrl"]; 
    [patternA setValue:patternNotes.text forKey:@"patternNotes"]; 
    dateAdded = [NSDate date]; 
    [patternA setValue:dateAdded forKey:@"dateAdded"]; 
    [patternA setValue:patternLabel.text forKey:@"patternLabel"]; 
    [patternA setValue:pngPath forKey:@"patternPhoto"]; 

    [knittingQueenViewController saveContext]; 
    [self dismissModalViewControllerAnimated:YES]; 
} 

和saveContext方法:

- (void)saveContext { 
    NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext]; 
    NSError *error = nil; 
    if (![context save:&error]) { 
     // error code goes in here 
    } 
    NSLog(@"saveContext KQVC line 203"); 
    [self refreshPatternsTable]; 
} 

我没有错误,但没有任何保存的数据。我的问题:为什么不是从modalviewcontroller调用saveContext方法?任何建议,你可以提供最受赞赏。

回答

3

是您的save方法被调用?当它被调用时,它是否为零_ND? patternA的值是否正确?

+0

之一前两个问题在这里几乎可以肯定是问题。 –

+0

@noa Q1的答案:该方法被称为,但因为knittingQueenViewController是零http://stackoverflow.com/questions/3678180/how-to-check-if-a-specific-uiviewcontrollers-view-is-currently-根据这个答案可见的测试。 Q2的答复:没有。所以我已经分配init,现在它崩溃了。 –

+0

分配另一个这里不会帮助你 - 它不会有你的FetchedResultsController或ManagedObjectContext一个引用,例如。你在哪里首先分配并初始化PatternViewController?从代码?您可能需要添加一些代码,将'knittingQueenViewController'设置为已创建的实例。 – paulmelnikow