2011-08-02 4 views
0

Comment puis-je faire en sorte que je puisse obtenir une instance non-retenus d'une classe? Vous pouvez le faire avec différentes classes Cocoa comme NSString ([NSString string]) ou NSArray ([NSArray array]).Comment créer une classe personnalisée non protégée?

Comment puis-je faire cela avec ma classe personnalisée afin que je puisse appeler [MyClass class] au lieu de [[MyClass alloc]init]?

Répondre

3

Mettre en œuvre la méthode de la classe dans votre classe qui retourne l'objet autoreleased:

// Header 
+(MyClass*) myClass; 

// implementation 

+(MyClass*) myClass{ 
    return [[[MyClass alloc] init] autorelease]; 
} 

Ensuite, dans votre code, vous serez en mesure d'obtenir votre « non retenus » par exemple aka autoreleased de votre classe personnalisée:

MyClass *myObj = [MyClass myClass]; 
Questions connexes