DeleteMeController.m
上传用户:jjjjag8
上传日期:2017-04-17
资源大小:1443k
文件大小:3k
源码类别:

iPhone

开发平台:

MultiPlatform

  1. //
  2. //  DeleteMeController.m
  3. //  Nav
  4. //
  5. //  Created by Jeff LaMarche on 7/22/08.
  6. //  Copyright 2008 __MyCompanyName__. All rights reserved.
  7. //
  8. #import "DeleteMeController.h"
  9. @implementation DeleteMeController
  10. @synthesize list;
  11. -(IBAction)toggleEdit:(id)sender {
  12. [self.tableView setEditing:!self.tableView.editing animated:YES];
  13. }
  14. #pragma mark -
  15. - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
  16. if (self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]) {
  17. // Initialization code
  18. }
  19. return self;
  20. }
  21. - (void)viewDidLoad {
  22. NSString *path = [[NSBundle mainBundle] pathForResource:@"computers" ofType:@"plist"];
  23. NSMutableArray *array = [[NSMutableArray alloc] initWithContentsOfFile:path];
  24. self.list = array;
  25. UIBarButtonItem *editButton = [[[UIBarButtonItem alloc]
  26. initWithTitle:@"Delete"
  27. style:UIBarButtonItemStyleBordered
  28. target:self
  29. action:@selector(toggleEdit:)] autorelease];
  30. self.navigationItem.rightBarButtonItem = editButton;
  31. [super viewDidLoad];
  32. }
  33. - (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
  34. // Return YES for supported orientations
  35. return (interfaceOrientation == UIInterfaceOrientationPortrait);
  36. }
  37. - (void)didReceiveMemoryWarning {
  38. [super didReceiveMemoryWarning]; // Releases the view if it doesn't have a superview
  39. // Release anything that's not essential, such as cached data
  40. }
  41. - (void)dealloc {
  42. [list release];
  43. [super dealloc];
  44. }
  45. #pragma mark -
  46. #pragma mark Table Data Source Methods
  47. - (NSInteger)tableView:(UITableView *)tableView 
  48.  numberOfRowsInSection:(NSInteger)section {
  49. return [list count];
  50. }
  51. - (UITableViewCell *)tableView:(UITableView *)tableView 
  52.  cellForRowAtIndexPath:(NSIndexPath *)indexPath {
  53. static NSString *DeleteMeCellIdentifier = @"DeleteMeCellIdentifier";
  54. UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:DeleteMeCellIdentifier];
  55. if (cell == nil) {
  56. cell = [[[UITableViewCell alloc] initWithFrame:CGRectZero 
  57.    reuseIdentifier:DeleteMeCellIdentifier] autorelease];
  58. }
  59. NSInteger row = [indexPath row];
  60. cell.text = [self.list objectAtIndex:row];
  61. return cell;
  62. }
  63. #pragma mark -
  64. #pragma mark Table Delegate Methods
  65. - (void)tableView:(UITableView *)tableView 
  66. commitEditingStyle:(UITableViewCellEditingStyle)editingStyle 
  67. forRowAtIndexPath:(NSIndexPath *)indexPath {
  68. NSUInteger row = [indexPath row];
  69. [self.list removeObjectAtIndex:row];
  70. [tableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] 
  71.  withRowAnimation:UITableViewRowAnimationFade];
  72. }
  73. @end