-1
我有我的應用程序中的主和詳細TableViewControllers。如果用戶點擊了MasterTableViewController上的+號,那麼它將它們帶到DetailTableViewController中,他們可以在其中鍵入/編輯「標題」和「文本」。一旦他們點擊後退按鈕(< - ),它將把它們帶回MasterTableViewController並在TableView底部添加一個新單元。爲了在TableView頂部顯示新添加的單元格,我需要做什麼更改? 這裏是viewWillDisappear方法,當他們點擊後面(< - )按鈕時被調用。如何在表格視圖頂部添加新單元格?
-(void)viewWillDisappear:(BOOL)animated {
NSManagedObjectContext *context = [self managedObjectContext];
if (self.note) {
// Update existing Notes
[self.note setValue:self.titleField.text forKey:@"title"];
[self.note setValue:self.textView.text forKey:@"text"];
} else {
// Create a new Notes
NSManagedObject *newNote = [NSEntityDescription insertNewObjectForEntityForName:@"Note" inManagedObjectContext:context];
[newNote setValue:self.titleField.text forKey:@"title"];
[newNote setValue:self.textView.text forKey:@"text"];
}
NSError *error = nil;
// Save the object to persistent store
if (![context save:&error]) {
NSLog(@"Can't Save! %@ %@", error, [error localizedDescription]);
}
[self dismissViewControllerAnimated:YES completion:nil];
}
//觀點確實出現
- (void)viewDidAppear:(BOOL)animated {
[super viewDidAppear:animated];
// fetch the Note from persistent data store
NSManagedObjectContext *managedObjectContext = [self managedObjectContext];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] initWithEntityName:@"Note"];
self.notes = [[managedObjectContext executeFetchRequest:fetchRequest error:nil] mutableCopy];
// [self.tableView selectRowAtIndexPath:[NSIndexPath indexPathForRow:[self.notes count] inSection:0] animated:YES scrollPosition:UITableViewScrollPositionTop];
[self.tableView reloadData];
}
謝謝@Nishant。我已經這麼做了。我通過添加viewDidAppear方法來修改問題。問題是,新的對象出現在底部,我需要它在頂部。 –
更新我的答案。 – Nishant