• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: getting the selected object from an NSTableView causes problems
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: getting the selected object from an NSTableView causes problems


  • Subject: Re: getting the selected object from an NSTableView causes problems
  • From: Charles Srstka <email@hidden>
  • Date: Sat, 21 Jun 2008 10:19:47 -0500

Don't do this:

NSLog(@"selected row: %@", [tableView selectedRow]);

Instead, do this:

NSLog(@"selected row: %u", [tableView selectedRow]);

Trying to interpret an int as an object is what's causing your crash.

Charles

On Jun 21, 2008, at 10:13 AM, Daniel Richman wrote:

Thanks! I don't know why they introduced NSInteger. It sounds like it would be a subclass of NSNumber.

That didn't seem to be the problem, though. The program still crashes only when you aren't deleting the first item. I made a movie of it; it's at http://danielrichman.com/tmp/ToDoList_Problem.mov .

Thanks,
Daniel


Graham Cox wrote:
I ran into a very similar problem just today.

There is an error in your code though, unrelated to my problem, but is probably yours:

int selectedRow = [((NSNumber *)[tableView selectedRow]) intValue];


-selectedRow simply returns an int, so all that casting to an NSNumber* and fetching its -intValue is bogus. You want:

int selectedRow = [tableView selectedRow];

(Aside: I think the addition in Leopard of the NSInteger data type is confusing a lot of people - it's just a typedef for 'int', it's not an object, and definitely not an NSNumber. But I've seen a few errors confusing the two lately that didn't seem to happen before).

hth,


Graham




On 21 Jun 2008, at 12:51 pm, Daniel Richman wrote:

I've got an NSTableView that displays the data in an NSMutableArray. (The program is a to-do list.) I just tried adding a function to allow you to delete an item: you select the item in the table and then click delete. My code is as follows:

- (IBAction)deleteItem:(id)sender
{
 int selectedRow = [((NSNumber *)[tableView selectedRow]) intValue];
 NSLog(@"Selected row is %d", selectedRow);
   if (selectedRow != -1) {
     NSLog(@"Deleting '%@'", [toDoList objectAtIndex:selectedRow]);
     [toDoList removeObjectAtIndex:selectedRow];
     [tableView reloadData];
 }
}

The problem is that if I try to delete any item other than the very first one (index 0), the program crashes. I did some log work, which revealed that the first line is causing problems (int selectedRow...). But that doesn't explain why the deleting the first item works ok. I'm stumped. Any ideas?

_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden

_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: getting the selected object from an NSTableView causes problems
      • From: Daniel Richman <email@hidden>
References: 
 >getting the selected object from an NSTableView causes problems (From: Daniel Richman <email@hidden>)
 >Re: getting the selected object from an NSTableView causes problems (From: Graham Cox <email@hidden>)
 >Re: getting the selected object from an NSTableView causes problems (From: Daniel Richman <email@hidden>)

  • Prev by Date: Re: getting the selected object from an NSTableView causes problems
  • Next by Date: Re: getting the selected object from an NSTableView causes problems
  • Previous by thread: Re: getting the selected object from an NSTableView causes problems
  • Next by thread: Re: getting the selected object from an NSTableView causes problems
  • Index(es):
    • Date
    • Thread