• 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: Unarchiving issues
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Unarchiving issues


  • Subject: Re: Unarchiving issues
  • From: James Maxwell <email@hidden>
  • Date: Mon, 2 Aug 2010 10:46:58 -0700

Okay, so here's the initWithCoder from the object that's giving me grief. The variable "continuations" is a float* array, and appears to load fine from here, but disappears once the root object is unarchived and set. I've since discovered that, through a mistake I made at another place in the code, I've been shielded from noticing that all of my encoded float* arrays appear to be doing the same disappearing act. So, I assume I'm doing something really wrong here:


- (void)					encodeWithCoder:(NSCoder *)aCoder
{
	// the size for the saved vector
	NSUInteger size = ([self continuationsSize] * sizeof(float));

	// save the length variable
	[aCoder encodeInt:[self continuationsSize] forKey:@"continuationsSize"];

	// encode the float* bytes
	[aCoder encodeBytes:(uint8_t*)continuations length:size forKey:@"continuations"];
}

- (id)					initWithCoder:(NSCoder *)aDecoder
{
	if(self = [super init])
	{
		NSUInteger size;
		// init a bunch of other stuff

		// set the size of the array (the accessor does the malloc)
		[self setContinuationsSize:[aDecoder decodeIntForKey:@"continuationsSize"]];

		// set the contents of the array
		continuations = (float*)[aDecoder decodeBytesForKey:@"continuations" returnedLength:&size];
	}
	return self;
}

Thanks in advance,

J.



On 2010-08-01, at 8:34 PM, Michael Ash wrote:

> On Sun, Aug 1, 2010 at 3:30 PM, James Maxwell
> <email@hidden> wrote:
>> Hello All,
>>
>> I have a strange problem with NSKeyedArchiver/Unarchiver. I have a very complex object graph that I want to be persistent, independently of my document objects, so I'm archiving it into the user's application support folder. The root object for the archive is a class called Network, which basically stores very little, but does store the "Hierarchy" for the object graph, which is basically just a 2D NSMutableArray (though it's a pretty big one). When I unarchive my Network root object, and initWithCoder gets called in the Network class, the Hierarchy seems fine -- I can iterate over the objects, posting relevant data, and everything looks good. However, once the Network is loaded into the application, iterating over the loaded Network Hierarchy gives an exc_bad_access error. I'm using the same routine to post the data, so nothing's changed there.
>> The data that's causing the problem is a float* array, saved using encodeBytes:length:forKey, and decoded using decodeBytesForKey:returnedLength:, which is how I've saved a number of similar float* arrays in the Hierarchy.
>> What I don't understand is how the Hierarchy can be fine at the end of the Network's initWithCoder method, but then get banjaxed somehow after that.
>
> Post your code. It's *much* easier to debug code than a loose
> description of code.
>
> Mike
> _______________________________________________
>
> 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

James B Maxwell
Composer/Doctoral Student
School for the Contemporary Arts (SCA)
School for Interactive Arts + Technology (SIAT)
Simon Fraser University
email@hidden
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: Unarchiving issues
      • From: glenn andreas <email@hidden>
    • Re: Unarchiving issues
      • From: Graham Cox <email@hidden>
References: 
 >Unarchiving issues (From: James Maxwell <email@hidden>)
 >Re: Unarchiving issues (From: Michael Ash <email@hidden>)

  • Prev by Date: Re: [iPhone] Data protection clarification needed.
  • Next by Date: NSOpenSavePanelDelegate mounting all drives of a server
  • Previous by thread: Re: Unarchiving issues
  • Next by thread: Re: Unarchiving issues
  • Index(es):
    • Date
    • Thread