相关疑难解决方法(0)

NSClassFromString返回nil

为什么要NSClassFromString回来nil?根据定义,它必须返回类名.我该如何处理纠正这个问题?我需要从string实例化一个类,并使用创建的实例调用类中的方法.

这是我的代码的样子:

id myclass = [[NSClassFromString(@"Class_from_String") alloc] init];
[myclass method_from_class];
Run Code Online (Sandbox Code Playgroud)

但是这个method_from_class功能没有被调用,控制也没有进入.我的代码没有错误.知道如何在Objective-C中解决这个问题吗?

class objective-c instance

18
推荐指数
3
解决办法
3万
查看次数

在运行时创建一个类 - 为什么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
查看次数

标签 统计

class ×1

instance ×1

iphone ×1

objective-c ×1

runtime ×1