On May 20, 2009, at 6:01 AM, Ken Thomases wrote:
It's possible for a category to provide ivar-like functionality. You can maintain a "category variable" in the same manner as one implements a "class variable" in Objective-C: a file-scope static in the implementation file. That variable could be a mapping from A instance pointers to a value (or dictionary of values).

It's non-trivial, though. You have to take care of thread safety in maintaining the mapping.

It's also much harder under GC. The "obvious" solutions either leak (because the global table keeps stuff alive), or are thread-unsafe (because no amount of locks can save your dangling pointer if the collector decides to delete the object).

SnowLeopard adds machinery that can be used to do exactly this. Stay tuned.


--
Greg Parker     gpar...@apple.com     Runtime Wrangler


_______________________________________________

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