Question: i have an array with dictionaries,

. how to get the index for a specific dictionary... [where I got the data for the dictionary i want to find, but need the index is on]

```
NSMutableDictionary *dictois = [[NSMutableDictionary alloc]init];
[dictois setObject:@"easySpritedd" forKey:@"Nombre"];
[dictois setObject:@"X" forKey:@"290"];
[dictois setObject:@"Y" forKey:@"300"];

int fooIndex = [self.bloquesArray indexOfObject: dictois];

```

but as you see i dont know yet how to get the dictionary for comparing in the indexOfObject

thanks!

Answer: 
It's the responsibilty of `singleton class` developer to make sure that the instance is being reused on multiple calls.

As a user, you shouldn't worry about it.

```
class Singelton
{
    private static Singelton _singelton = null;

    private Singelton()
    {

    }

    // NOT usable for Multithreaded program
    public static Singelton CreateMe()
    {
        if(_singelton == null)
            _singelton = new Singelton();
        return _singelton;        
    }
}

```

Now, from anywhere in your code, you can instantiate `Singelton`, how many times you like and each time assign it to different reference. but c'tor is called ONLY once.
General practice for naming methods which create/return singletons is `getInstance()`. I don't understand the situation when you can't find the place in code where singletons created, but you can search for this method name.

If you want to catch the exact moment of singleton creation - you can use [AOP](http://jac.ow2.org/docs/introduction.html). AspectJ is a good example in java. You will be able to execute your code before/after creation of class or calling `getInstance()` method.

If your question is about reusing of created Singletons, then search this site. [For example](https://stackoverflow.com/questions/5179893/c-sharp-singleton-code-reuse)