2009-09-02 10 views

Répondre

0

Il n'y a rien qui soit automatiquement appelé après init est appelée. Si vous voulez quelque chose comme ça et que vous sous-classez NSObject, remplacez simplement -init et appelez une méthode vous-même (bien que, si vous faites cela, vous feriez tout ce que vous voulez faire dans init lui-même).

Si vous sous-classez quelque chose d'autre, regardez dans les documents de cette classe - il y a peut-être quelque chose qui correspond à vos besoins. Par exemple, NSManagedObject a awakeFromInsert/Fetch, etc.

1

On ne sait pas de votre question de vous suivre besoin:

  • lorsque votre classe est liée, la méthode +load sera appelée

  • la première fois votre classe est utilisée, la méthode +initialize sera appelée

Vous pouvez remplacer l'une de ces méthodes. Si c'est le cas, veillez à ce que la classe que vous chargez ou initialisez soit celle que vous souhaitez utiliser; Sinon, si quelqu'un crée une sous-classe et ne remplace pas la méthode, vous pouvez l'appeler deux fois avec unpredictable results.

Il est toujours possible d'utiliser self dans n'importe quelle méthode Objective-C. C'est juste un argument implicite à la méthode, rien de spécial.

Questions connexes