[Biococoa-dev] mass calculator bug

Koen van der Drift kvddrift at earthlink.net
Sat Aug 28 06:37:29 EDT 2004


On Aug 28, 2004, at 6:24 AM, Alexander Griekspoor wrote:

> Ha Koen,

Ha Alex :)


>
> This is because our custom object doesn't support the copying protocol 
> (see NSCopying in documentation). And now that we're busy anyway, 
> let's add the very similar NSCoding as well...  [DISCLAIMER: typed in 
> mail and not tested]
>

> So we start with the first interface line in the BCSequence header:
> @interface BCSequence : NSObject {
> should become:
> @interface BCSequence : NSObject <NSCopying, NSCoding> {
>

Hmm, I have never used such a construction before and have done similar 
things (passing an object to another class).



> In BCMassCalculator, InitWithSequence, change:
>
>> 	sequence = [seq copy];		<--------- error
>
> to sequence = [seq copyWithZone: [self zone]];  // I believe this is 
> more efficient memory wise
>

Even if I use an accessor:

[self setSequence: seq];

and then:

- (void)setSequence:(BCSequence *)s
{
	[s retain];
	[sequence release];
	sequence = s;
}



I get the same copywithZone error.  But maybe this is different because 
BCSequence passes a copy of itself?

Anyway, I agree that we should implemement a 'copy constructor' (C++ 
speak) if that solves the problem.


- Koen.






More information about the Biococoa-dev mailing list