Follow is some code for example.
NSArray *test1 = [[NSArray alloc] initWithObjects:@"TEST", nil];
[someArray addObject:test1];
:
:
too many code lines.
:
:
At some place
NSArray *addingArray = [test1 whoisAddingOrContainingMe(?)];
I want to know a pointer of someArray as method of test1 instance.
Is there a method like this?
No, you can’t “reverse lookup” the containers you are contained in.
From a design perspective this would be somewhat difficult, since conceptually there’s no difference between having a reference to oneself in an “array”, in any other container, or in any other object that’s not considered to be a container. Thus, you have to record every single “retain” by passing it an additional “owner” parameter, and since retains and releases can be done in vastly different places you would also need to pass “owner” pointers around so that an eventual “release” can refer to the proper retain.
Or, to put it short: it would be a huge mess 🙂
As suggested before, if you know what arrays can actually contain you — and that should be much easier for your application — you could check them. Or you could add a list to the objects to record where they have been added, probably via methods like “addTo:” and “removeFrom:”.