Ios 当类不';不存在
NSClassFromString在找不到类时应该返回一个nil,但我遇到了一个EXC\u BAD\u访问崩溃:Ios 当类不';不存在,ios,swift,exc-bad-access,Ios,Swift,Exc Bad Access,NSClassFromString在找不到类时应该返回一个nil,但我遇到了一个EXC\u BAD\u访问崩溃: classname = "foo" var fooClass = NSClassFromString(classname) 如何安全地检查Swift&Objective-C中是否不存在类?此代码在Swift下工作: var classname = "foo" var fooClass = NSClassFromString(classname) 这一个也是目标C: NSStrin
classname = "foo"
var fooClass = NSClassFromString(classname)
如何安全地检查Swift&Objective-C中是否不存在类?此代码在Swift下工作:
var classname = "foo"
var fooClass = NSClassFromString(classname)
这一个也是目标C:
NSString* classname = @"foo";
id fooClass = NSClassFromString(classname);
您的代码似乎正确
您是否尝试升级Xcode以获得最新版本的Swift?问题仅限于Swift还是Objective-C?两者都有。我的项目使用了大量需要动态实例化的swift&objective-c类。@Scottmcmy我认为rmaddy不是在问你正在实例化的类是objective-c还是swift,而是问你代码片段中的代码在两种语言中是否都有问题。我投票决定以无法重现的问题来解决这个问题。假设
classname
被定义为某个地方的var
,第二行将产生一个警告(因为fooClass
将具有类型AnyClass!
,这可能是意外的),但它被设置为用户期望的nil
。这更像是一个注释(和关闭原因)这似乎是一个答案。@nhgrif-但如果将代码段放入注释中,代码段将被肢解。@HotLicks“复制并粘贴问题中的代码,它就可以工作。翻译成Objective-C,也可以工作。投票关闭是不可复制的。”??也。。。在我编辑之前,代码片段只是被放在背景符号中…在Objective-C代码中,fooClass
应该声明为Class
,而不是id
@rmaddy:Class
只是一个专门的id