2009-06-18 3 views
2

J'ai trouvé des références en ligne qui parlent de deux classes racines différentes pour ObjC, soit objc/Object.h ou Foundation/NSObject.h. Ils requièrent différents drapeaux de compilation (-lobj vs. -lobjc -framework Foundation) et ont des sélecteurs différents pour l'initialisation des objets de libération & NSObject est-il un remplacement, ou a-t-il des applications différentes? Evidemment, NSObject.h serait mieux pour les choses de type NextStep, mais présente-t-il des avantages? ? ferait mieux dans certaines situationsClasse de racines correcte pour Objective C?

FWIW, le updated FAQ de comp.lang.objective-c semble indiquer la NSObject.h est correcte, un older version mentions Object.h

+0

en Objective-C, on peut créer de nouvelles classes racines, simplement en définissant une classe sans super-classe. Par conséquent, il est correct d'avoir plusieurs classes racine – user102008

Répondre

6

Ma compréhension de la situation est qu'il ya deux temps d'exécution bibliothèques pour la bibliothèque Objective-C. ses NSObject, et la bibliothèque GNU qui utilise Object. Si vous développez pour une plate-forme Apple, utilisez leur runtime. Si vous développez pour une plate-forme non-Apple, vous utilisez l'autre.

Questions connexes