gpt4 book ai didi

swift - NSClassFromString 使用 Swift 文件

转载 作者:搜寻专家 更新时间:2023-10-31 21:51:58 24 4
gpt4 key购买 nike

我在现有的 Objective-C 项目中用 Swift 编写了一个类。到目前为止,桥接工作非常顺利。然而,我确实有一个方法,我在运行时使用 NSClassFromString() 生成一个类。当字符串是我的 Swift 类名时,它返回 nil。

class MySwiftClass : NSObject {}

在 Objective-C 中:

Class myClass = NSClassFromString(@"MySwiftClass");

myClass 每次都是 nil。我也试过:

Class myClass = NSClassFromString(@"MyAppName.MySwiftClass");

仍然是零。

最佳答案

所有 swift 类都使用产品模块名称的一个点和它们的命名空间 (Module.Class) 的类名。如果您想在 Objective-C 代码中为类使用“MySwiftClass”名称;您可以添加 @objc(MySwiftClass) 注释来公开相同的 swift 类名(没有模块):

@objc(MySwiftClass)
class MySwiftClass{
...
}

然后

Class myClass = NSClassFromString(@"MySwiftClass");

将包含类而不是 nil。

关于swift - NSClassFromString 使用 Swift 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28706602/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com