0

快速問題傢伙... IBAction按鈕正在創建一個新對象,但當導航器推動DetailViewController它給我SIGABRT。 現在我想知道如果我不能在那裏使用導航控制器功能。 下面的代碼是無法正常工作的一個DetailViewController不顯示何時創建新對象

- (IBAction)insertNewObject 
{ 
// Create a new instance of the entity managed by the fetched results controller. 
NSManagedObjectContext *context = [self.fetchedResultsController managedObjectContext]; 
NSEntityDescription *entity = [[self.fetchedResultsController fetchRequest] entity]; 

Event *newEvent = [NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context]; 
DetailViewController *detailController = [[[DetailViewController alloc] init] autorelease]; 

[newEvent setValue:[NSDate date] forKey:@"timeStamp"]; 

// Save the context with the new object. 
NSError *error = nil; 
if (![context save:&error]) { 
    //improve this 
    NSLog(@"Unresolved error %@, %@", error, [error userInfo]); 
    abort(); 
} 

[detailController setEvent:newEvent]; 

NSLog(@"Detail Controller New Event 1 (from Master) : %@", newEvent); 

[self.navigationController pushViewController:detailController animated:YES]; 
} 

現在,當我選擇單元格它完美。所以下面的代碼工作:

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender 
{ 
if ([[segue identifier] isEqualToString:@"selectSegue"]) { 
    NSIndexPath *indexPath = [self.tableView indexPathForSelectedRow]; 

    Event *event = (Event *)[fetchedResultsController objectAtIndexPath:indexPath]; 
    NSLog(@"Event on Master:: %@", event); 

    DetailViewController *detailvc = [[[DetailViewController alloc] init] autorelease]; 

    detailvc.event = [self.fetchedResultsController objectAtIndexPath:indexPath]; 
    NSLog(@"Event on Detail when created :: %@", detailvc.event); 

    if (event) [[segue destinationViewController] setEvent:(Event *) [self.fetchedResultsController objectAtIndexPath:indexPath]]; //was: setDetailItem:selectedObject 
    [event release]; 
    [detailvc.event retain]; 

} 
} 

感覺就像我缺少一些簡單的東西。但任何人都可以幫助我將該對象添加到該DetailViewController而沒有得到一個SIGABRT? 大家好,新年快樂。

回答

0

你的代碼似乎一切正常。 對於我的經驗,您應該檢查是否爲實體設置了所有強制屬性。因爲在某些情況下,錯誤聲明並不介意這個錯誤!

+0

所有屬性都標記爲可選。我認爲故事板讓我感到困惑。現在有很多方法可以推送視圖控制器。不過謝謝你的幫助。 – Farini 2012-01-01 23:53:08

相關問題