• 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: Threaded data freaking out
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Threaded data freaking out


  • Subject: Re: Threaded data freaking out
  • From: spike <email@hidden>
  • Date: Sat, 8 Mar 2003 04:44:30 -0500

I've been reading up on NSLock (and the related classes) and I don't quite understand it, I did some quick stuff to test it out, but the error still occured.

I added a property (variable?) to my class called NSLock *lock; and in my +init class method, I lock = [[NSLock alloc] init]; and called [lock lock] and [lock unlock] sandwiched around my modifying code and reading code, but that didn't fix it. I don't think I was doing it right.

in the debugger, when I got that exception, sometimes row was out of bounds, but other times it was well within the bounds (row == 1, yet [fileSizes count] and [fileNames count] both were 5000+.

after looking at my threads and the stackTrace and all that I noticed that this error occurs when my [myTableView reloadData] happens and I store that value into the BOOL.

could someone give me a quick rundown on how locking works/ how to implement it? I read the explanation on apple's site and the thing on cocoadevcentral's site, but I really don't understand it.



...spike


On Friday, March 7, 2003, at 07:36 pm, Cameron Hayne wrote:

Spike wrote:
I've got an app that uses NSTableView and it's threaded. I get
*** -[NSCFArray objectAtIndex:]: index (1) beyond bounds (1)
I've been using the debugger and the only 2 arrays that I'm using I got
the data for using po and they both have like 5000 items in them (like
they're supposed to).
The line of code that's wigging out is:
BOOL isMissing = [[fileSizes objectAtIndex: row] isKindOfClass:
[NSString class]];

Two comments:
1) You mention that your app is multi-threaded. So are you sure that you are properly locking the data for access by the two threads?
2) The error message seems to say that the 'row' index is 1 and that the array 'fileSizes' has only one element in it, hence the index is out of bounds.

Cameron Hayne
email@hidden
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.
_______________________________________________
cocoa-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/cocoa-dev
Do not post admin requests to the list. They will be ignored.

  • Follow-Ups:
    • Re: Threaded data freaking out
      • From: Chris Hanson <email@hidden>
    • Re: Threaded data freaking out
      • From: publiclook <email@hidden>
    • [NSOpenPanel setTreatsFilePackagesAsDirectories] and a doc-based application
      • From: Oleg Svirgstin <email@hidden>
  • Prev by Date: Determining if a user's comp has 2 processors
  • Next by Date: Re: Determining if a user's comp has 2 processors
  • Previous by thread: Re: Threaded data freaking out
  • Next by thread: [NSOpenPanel setTreatsFilePackagesAsDirectories] and a doc-based application
  • Index(es):
    • Date
    • Thread