PDA

View Full Version : How to Delete Row




DavidBlack
Feb 11, 2013, 05:56 PM
I want to delete a row when the user selects the remove button. On a mac table.


This is the code I am using



- (IBAction)removepassword:(id)sender {




NSDateFormatter *newFormatter = [[NSDateFormatter alloc] init];

[newFormatter setDateStyle:NSDateFormatterShortStyle];

NSString *billDueDate = [newFormatter stringFromDate:billDatePicker.dateValue];

NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:
[txtName stringValue],@"Name",
billDueDate, @"Date",
[txtAmount stringValue], @"Amount",
nil];

[arrayBills removeObject:dictionary];

if(![[NSFileManager defaultManager] fileExistsAtPath:billFile] || [[NSFileManager defaultManager] isWritableFileAtPath:billFile]){

[[arrayBills arrangedObjects] writeToFile:billFile atomically:NO];
}



But it only works for one row also this is the code I have to add a row or cell


-(IBAction)addBill:(id)sender{

NSDateFormatter *newFormatter = [[NSDateFormatter alloc] init];

[newFormatter setDateStyle:NSDateFormatterShortStyle];

NSString *billDueDate = [newFormatter stringFromDate:billDatePicker.dateValue];

NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:
[txtName stringValue],@"Name",
billDueDate, @"Date",
[txtAmount stringValue], @"Amount",
nil];

[arrayBills addObject:dictionary];

[txtName setStringValue:@""];
[txtAmount setStringValue:@""];

if(![[NSFileManager defaultManager] fileExistsAtPath:billFile] || [[NSFileManager defaultManager] isWritableFileAtPath:billFile]){

[[arrayBills arrangedObjects] writeToFile:billFile atomically:YES];
}



Can anyone please help?



Mac_Max
Feb 11, 2013, 07:00 PM
I believe you're looking for this method:

removeRowsAtIndexes:withAnimation: (https://developer.apple.com/library/mac/documentation/Cocoa/Reference/ApplicationKit/Classes/NSTableView_Class/Reference/Reference.html#//apple_ref/occ/instm/NSTableView/removeRowsAtIndexes:withAnimation:)