知道变量名求变量类型,,,object-c 有没有提供什么函数实现。如 - (Class)class;之类的,,

Hi_Aaron IOS Developer  2014-01-08 11:42:12
知道变量名求变量类型,,,object-c 有没有提供什么函数实现。如 - (Class)class;之类的,,
...全文
312 点赞 收藏 7
写回复
7 条回复
zx119koko 2014年01月12日
nsstringfromclass([obj class])
回复 点赞
lkw5657 2014年01月09日
我很关心楼主这么做的目的
回复 点赞
Hi_Aaron 2014年01月09日
引用 4 楼 lkw5657 的回复:
我很关心楼主这么做的目的
说白了就是想反射得到变量的所属的类。不知道咋实现?
回复 点赞
Hi_Aaron 2014年01月09日
引用 3 楼 dream238 的回复:
+(Class)class;是静态方法,不用实例化。 比如直接[UIViewController class]就行了。
@property(nonatomic,strong)Class1 a; @property(nonatomic,strong)Class2 b; @property(nonatomic,strong)Class3 c; -(void)inject:(argc...) { [defaultFactory componentForType:参数的类名]; } argc...:传进来的参数是不定个数的, 然后在函数中需要知道变量是那个类的。 问题:如果用object_getClassName 或者 (Class)class 的话,因为类变量a、b、c 没alloc,所以得到的是空,,有没有其他的解决办法呢??
回复 点赞
ArcRain 2014年01月08日
+(Class)class;是静态方法,不用实例化。 比如直接[UIViewController class]就行了。
回复 点赞
Hi_Aaron 2014年01月08日
引用 1 楼 zhanglei5415 的回复:
在objC中还真有一个类方法class,可以得到当前实例变量的类型。 define:
+(Class)class;
example:
UIViewController *vc=[[UIViewController alloc] init];
NSLog(@"vc type is :%@",[vc class]);
这样的话就必须实例化,,那假如我在头文件中写@property(nonation,strong)NSString *str,,,然后在.m文件中直接用【str class】是没法得到的,而我又不想实例化,,有没有其他办法呢?
回复 点赞
ReyZhang 2014年01月08日
在objC中还真有一个类方法class,可以得到当前实例变量的类型。 define:
+(Class)class;
example:
UIViewController *vc=[[UIViewController alloc] init];
NSLog(@"vc type is :%@",[vc class]);
回复 点赞
发动态
发帖子
iOS
创建于2008-03-10

1.4w+

社区成员

1.2w+

社区内容

主要讨论与iOS相关的软件和技术
社区公告
暂无公告