相关疑难解决方法(0)

在运行时创建一个类 - 为什么NSClassFromString和objc_getclass返回nil?

我试过用这两个:

NSClassFromString and objc_getclass 
Run Code Online (Sandbox Code Playgroud)

返回一个类,所以我可以在运行时创建它,但是对于某些类,两个函数都返回nil,例如"TestClass".请注意,NSClassFromString适用于99%的类.

如果我加

[TestClass class];
Run Code Online (Sandbox Code Playgroud)

在我调用NSStringFromClass或objc_getclass之前,它可以工作.如果我尝试使用类引用创建类,即:

[TestClass alloc];
Run Code Online (Sandbox Code Playgroud)

它也有效.那么如何强制类在运行时加载,以便NSClassFromString或objc_getclass不会返回nil?

iphone runtime

2
推荐指数
1
解决办法
9048
查看次数

在iPhone中创建运行时类

我需要与我的合作伙伴分开我的工作来设计游戏阶段,我们非常需要使用plist.所以,假设我有20种不同类型的类,我需要在运行时动态地实例化对象.将从plist输入中选择一个特定的类,并且将动态创建该类的对象.

我脑子里想到的第一件事就是,我switch()觉得这有点过时了.

所以我搜索了Stack Overflow并意识到iOS已经NSClassFromStringobjc_getclass.

经过几次尝试,我可以说NSClassFromString真的很好,因为我可以在plist和bam中说出我想要的课程!我们走了 之后使用KeyValue字典设置对象属性,并且它们都像魔术一样完成.

我的问题是,+如果你要以这种方式创建对象,我如何调用类方法(那些以方法开头)?我查了一下文件NSSelectorFromString().但这不是一个实例而不是一个类吗?

runtime nsobject ios

2
推荐指数
1
解决办法
2045
查看次数

标签 统计

runtime ×2

ios ×1

iphone ×1

nsobject ×1