2011-08-18 108 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