On 4 Feb 2011, at 21:23, Philippe Roussel wrote: > I've been browsing the Apple documentation for a long time but can't > find the answer so here's the question : is a NSPointerArray created > with pointerArrayWithWeakObjects supposed to retain the objects you add > to it ?
No ...'weak', as I understand it, means that the garbage collector is free to collect the objects. > In GNUstep +pointerArrayWithWeakObjects calls the init function with > NSPointerFunctionsZeroingWeakMemory which translate to retain but no > release. A test on OSX would be nice ... but in GNUstep currently, if you specify weak memory in a non-gc environment, the object is *not* retained. > Shouldn't it be NSPointerFunctionsZeroingWeakMemory | > NSPointerFunctionsOpaquePersonality ? No, because NSPointerFunctionsOpaquePersonality means that we shouldn't treat the pointers as objects, and the +pointerArrayWithWeakObjects: method is supposed to create an array for storing objects. But, everything I say is based on my reading of the documentation! My understanding of the documentation may not match what apple implemented. If you want definitive answers to these questions, please write more testcases for the testsuite at http://svn.gna.org/viewcvs/gnustep/tests/testsuite/trunk/base/NSPointerArray/ We can run those on OSX, see how it behaves, and then alter GNUstep to match if necessary. _______________________________________________ Discuss-gnustep mailing list [email protected] http://lists.gnu.org/mailman/listinfo/discuss-gnustep
