Le 21 nov. 08 à 16:56, Filip van der Meeren a écrit :

Ok, lets say that [NSString string] creates a new object each and every time a framework/Application needs an empty string (like about a billion times). Then the RAM would be stuffed with empty string objects that are useless for everyone. Now they have created a fix for this, one size fits all. They did this in a special way, by fixing there retainCount in a special subclass of NSString:

retainCount
Returns the receiver’s reference count.

- (NSUInteger)retainCount

Return Value
The receiver’s reference count.

Discussion
You rarely send a retainCount message; however, you might implement this method in a class to implement your own reference-counting scheme. For objects that never get released (that is, their release method does nothing), this method should returnUINT_MAX, as defined in <limits.h>.

The retainCount method does not account for any pending autorelease messages sent to the receiver.

This method is typically of limited value in debugging memory management issues.


I quote: "For objects that never get released, this method should return UINT_MAX". So where do you see your bug ?



Just here in your quote. UINT_MAX is a bug IMHO. It should be NSUIntegerMax as defined in <Foundation/NSObjCRuntime.h>


_______________________________________________

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 [EMAIL PROTECTED]

Reply via email to