Re: Retaining NSInputStream working with NSStream
Re: Retaining NSInputStream working with NSStream
- Subject: Re: Retaining NSInputStream working with NSStream
- From: Prachi Gauriar <email@hidden>
- Date: Fri, 28 May 2004 01:13:45 -0500
On May 27, 2004, at 8:32 PM, Christoffer Lerno wrote:
On May 28, 2004, at 00:42, Chris Parker wrote:
On May 27, 2004, at 12:28 AM, Christoffer Lerno wrote:
NSStream has the method
+(void)getStreamsToHost:port:inputStream:outputStream
You throw in a NSInputStream** for an inputStream argument and
similar for the outputstream. Now my question is: What the heck is
the status for these streams? Did they got assigned autoreleased
streams or did I get something that is retained? I.e. should I do a
[inputStream retain] after this method or not??
Hrm. There really should at least be a comment in the documentation
on the web about that, but the standard Cocoa retain/release rules
apply: if you didn't create it via alloc/init, you should be doing
your own retain/releases on it.
In this case, the streams you get back from this call have already
had the autorelease message sent to them.
Thanks. I suspected this was the case, but then I saw code someone
else had written which seemingly omitted the retain, which made me a
little confused. Since this was the first time I actually called on a
obj-c message which used callbacks, I was not sure if the rules
applied.
Yeah, my code didn't have it (which surprised me). The even more
surprising thing is that the code never crashes, which is probably what
led me to never change it. This is probably because I scheduled it in
the run loop, which retained it. I never used the stream when it
wasn't in the run loop, thus explaining why I never saw any problems.
The version in my .Mac public directory will be updated shortly. Sorry
for any confusion my code caused.
-Prachi
_______________________________________________
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.