#import <UIKit/UIKit.h>
#import "RQHAppDelegate.h"
@interface MainTableViewController : UITableViewController
{
NSMutableArray *_peoples;
RQHAppDelegate *_appDelegate;
}
@end
#import "MainTableViewController.h"
#import "People.h"
#import "AppendViewController.h"
@implementation MainTableViewController
#pragma mark - View lifecycle
//查
- (void)selectAllPeople
{
NSFetchRequest *request = [[NSFetchRequest alloc]init];
NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"People" inManagedObjectContext:_appDelegate.managedObjectContext];
[request setEntity:entityDescription];
NSArray *arr = [_appDelegate.managedObjectContext executeFetchRequest:request error:nil];
_peoples = [NSMutableArray arrayWithArray:arr];
[self.tableView reloadData];
}
- (void)viewDidLoad
{
[super viewDidLoad];
_peoples = [NSMutableArray arrayWithCapacity:0];
_appDelegate = [UIApplication sharedApplication].delegate;
[self selectAllPeople];
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
return _peoples.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
if (cell == nil) {
cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
}
People *people = [_peoples objectAtIndex:indexPath.row];
cell.textLabel.text = people.name;
// Configure the cell...
return cell;
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
AppendViewController *append = segue.destinationViewController;
//增
if ([segue.identifier isEqualToString:@"add"]) {
append.block = ^(NSString *text){
People *people = [NSEntityDescription insertNewObjectForEntityForName:@"People" inManagedObjectContext:_appDelegate.managedObjectContext];
people.name = text;
[_appDelegate saveContext];
[_peoples addObject:people];
[self.tableView reloadData];
};
}
else//改
{
UITableViewCell *cell = sender;
NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
People *people = [_peoples objectAtIndex:indexPath.row];
append.block = ^(NSString *text){
people.name = text;
[_appDelegate saveContext];
NSArray *arr = [NSArray arrayWithObject:indexPath];
[self.tableView reloadRowsAtIndexPaths:arr withRowAnimation:UITableViewRowAnimationAutomatic];
};
append.textViewText = people.name;
}
}
//删
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
[_appDelegate.managedObjectContext deleteObject:[_peoples objectAtIndex:indexPath.row]];
[_appDelegate saveContext];
[_peoples removeObjectAtIndex:indexPath.row];
NSArray *arr = [NSArray arrayWithObject:indexPath];
[self.tableView deleteRowsAtIndexPaths:arr withRowAnimation:UITableViewRowAnimationAutomatic];
}
@end