8

NSObjectプロトコルでは、次のようなメソッドを定義します。

-(Class) class

Class オブジェクトとはどのような種類のオブジェクトですか? それともオブジェクトですか?オブジェクトで何ができますか? 基本クラスまたは採用されたプロトコルを取得できますか?

4

2 に答える 2

16

Classそれ自体がObjective-Cランタイムによって定義されたClassクラスであり、Javaのクラスに似ています。たとえば、関数class_getClassName()を使用してクラスの名前を取得できます。

NSObject *o = [[[NSObject alloc] init] autorelease];
NSLog(@"%s\n", class_getClassName([o class]));  // prints "NSObject"

オブジェクトを使用して、あらゆる種類の内省/内省を行うことができClassます。詳細については、Objective-Cランタイムリファレンスを参照してください。

于 2010-08-21T21:19:31.773 に答える
2

今です

NSObject *o = [[NSObject alloc]init];
NSLog(@"%s\n", object_getClassName([o class]));

object_getClassNameそれ以外のclass_getClassName

于 2014-01-30T02:18:24.183 に答える