Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 当类不';不存在_Ios_Swift_Exc Bad Access - Fatal编程技术网

Ios 当类不';不存在

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

NSClassFromString在找不到类时应该返回一个nil,但我遇到了一个EXC\u BAD\u访问崩溃:

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