• 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
Bindings problems...
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bindings problems...


  • Subject: Bindings problems...
  • From: Tom Birch <email@hidden>
  • Date: Fri, 25 Mar 2005 15:01:11 +1100

What I'm basically trying to do is add saveablity to my application, such that when i add a new record or bunch of records, or quit the app, it will write my changes to a file, and when I open up it will load these changes. The app is not document-based, it uses a normal controller (custom subclass of NSObject), an NSObjectController to alias it, and an NSArrayController bound to the selection of the NSObjectController

I have implemented saving fine, and I've been trying to implement restoring of state, so in my awakeFromNib method of the controller I have this:

if([[NSFileManager defaultManager] fileExistsAtPath:TBPODatabasePath])
{
[self willChangeValueForKey:@"files"];
[self setFiles:[NSUnarchiver unarchiveObjectWithFile:TBPODatabasePath]];
[self didChangeValueForKey:@"files"];
}


with files being an NSMutableArray, and the accessor methods being these:

- (id)files
{
	return files;
}

- (void)setFiles:(id)newFiles
{
	[newFiles retain];
	[files release];
	files = newFiles;
}

running through gdb i get...

Program received signal:  "EXC_BAD_ACCESS".

on the call to [self setFiles:..]

when I just had "files = [NSUnarchiver...]" instead of setFiles, the signal was triggered on the next line and files was loaded fine (inspection with po showed everything).

the backtrace at the signal call was (excluding everything above awakeFromNib)...

#0 0x908311ec in objc_msgSend ()
#1 0x90a92d98 in -[NSKeyValueObservationForwarder observeValueForKeyPath:ofObject:change:context:] ()
#2 0x90a95ca8 in -[NSObject(NSKeyValueObserverRegistration) _addObserver:forProperty:options:context:] ()
#3 0x90a95e80 in -[NSObject(NSKeyValueObserverRegistration) addObserver:forKeyPath:options:context:] ()
#4 0x931afbe4 in -[_NSModelObservingTracker _registerOrUnregister:observerNotificationsForModelObject:] ()
#5 0x931aff4c in -[_NSModelObservingTracker startObservingModelObjectAtReferenceIndex:] ()
#6 0x931b0144 in -[_NSModelObservingTracker startObservingModelObjectsAtReferenceIndexes:] ()
#7 0x931d4bc4 in -[NSArrayController _selectObjectsAtIndexesNoCopy:avoidsEmptySelection: sendObserverNotifications:] ()
#8 0x931d4168 in -[NSArrayController _arrangeObjectsWithSelectedObjects:avoidsEmptySelection:operationsMask: useBasis:] ()
#9 0x931d460c in -[NSArrayController setContent:] ()
#10 0x931dfd74 in -[NSArrayDetailBinder _refreshDetailContentInBackground:] ()
#11 0x90a96434 in -[NSObject(NSKeyValueObservingPrivate) _notifyObserversForKeyPath:change:] ()
#12 0x931d9758 in -[NSController _notifyObserversForKeyPath:change:] ()
#13 0x931da0dc in -[NSController observeValueForKeyPath:ofObject:change:context:] ()
#14 0x90a05d40 in -[NSObject(NSKeyValueObserverNotification) didChangeValueForKey:] ()
#15 0x00443190 in -[Controller awakeFromNib] (self=0x545760, _cmd=0x9086aa78) at /Users/froody/


if anyone has any ideas why this would be happening, I would love to know!

cheers,
Tom

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Cocoa-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Bindings problems...
      • From: "John C. Randolph" <email@hidden>
  • Prev by Date: Re: character sets
  • Next by Date: Re: create a server listening on a specific port
  • Previous by thread: time format without leading zero
  • Next by thread: Re: Bindings problems...
  • Index(es):
    • Date
    • Thread