On 21 Apr 09, at 17:53, Wayne Shao wrote:
Let's say that I have a member variable NSString* logFilePath, I do init
in the   initWith.... method as
logFilePath = [[some_other_path stringByAppendingPathComponent:@"log.txt"]
copy];

The question is, if I do not call copy, is it true that logFilePath could be
subject to be GC'ed?

Are you using garbage collection or not?

If you ARE using garbage collection, the copy is unnecessary. So long as the value is reachable through strong references (which logFilePath is, so long as the object itself is reachable), it will not be collected.

If you ARE NOT using garbage collection, you should be retaining this value rather than copying it. See the memory management programming guide [1] for details.

[1]: 
http://developer.apple.com/documentation/Cocoa/Conceptual/MemoryMgmt/index.html

Another question, if I have the @" " string assigned to a global constant,
is it true that I do not need to copy in that case?

Yes. Constant strings are permanent, whether you're using GC or not.
_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to