Re: newbie questions on NSString* as a class attribute
Re: newbie questions on NSString* as a class attribute
- Subject: Re: newbie questions on NSString* as a class attribute
- From: Andrew Farmer <email@hidden>
- Date: Tue, 21 Apr 2009 18:15:11 -0700
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 (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