Objective c 台风1.7.2:XML注入-无法解析类

Objective c 台风1.7.2:XML注入-无法解析类,objective-c,swift,typhoon,Objective C,Swift,Typhoon,免责声明:我知道这是Typhone的一个相当老的版本,但我正在尝试向现有的Objective-C代码库添加一个Swift类,我很好奇这是否可行(理论上,我认为应该) 我有以下课程: import Cocoa public class MyClass: NSObject { } 我想将其用作Objective-C类中的依赖项: @interface DependentClass() @property (nonatomic, strong, readonly) MyClass *myCla

免责声明:我知道这是Typhone的一个相当老的版本,但我正在尝试向现有的Objective-C代码库添加一个Swift类,我很好奇这是否可行(理论上,我认为应该)

我有以下课程:

import Cocoa

public class MyClass: NSObject {

}
我想将其用作Objective-C类中的依赖项:

@interface DependentClass()

@property (nonatomic, strong, readonly) MyClass *myClass;

@end

- (instancetype)initWithMyClass:(MyClass *)aClass {
    self = [super init];
    if (self) {
        _myClass = aClass;
    }
    return self;
}
在XML配置中,我注册了组件和依赖类:

<component class='MyClass' key='myClass' scope='singleton'>
</component>

<component class='DependentClass' key='dependentClass' scope='singleton'>
    <initializer selector='initWithMyClass:'>
            <argument parameterName='myClass' ref='myClass'/>
    </initializer>
</component>

当我启动应用程序时,它在解析myClass时崩溃:

***由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因是:“类”“MyClass”“无法 决心。”


有没有办法让它发挥作用?据我所知,我唯一要做的就是将
MyClass
制作成
NSObject
子类(我的子类,或使用@objc)。

这将起作用,但Swift类的名称将自动命名为app/frameworkname.ClassName


您可以在运行时使用
NSStringFromClass(MyClass.self)

测试这一点,但Swift类的名称将自动命名为app/frameworkname.ClassName


您可以在运行时使用
NSStringFromClass(MyClass.self)

进行测试,这在理论上是可行的,但Swift类的名称可能会自动命名为app/frameworkname.ClassName。我忘记了确切的fomat,但您可以在运行时使用NSStringFromClass(MyClass.self)进行测试?哇,您是对的,我完全忘记了模块名称空间。我已经将名称空间添加到XML中,现在它可以工作了。谢谢如果你写它作为一个答案,我可以标记为接受!根据要求添加了(非常简短的)答案:)这在理论上是可行的,但Swift类的名称可能会自动命名为app/frameworkname.ClassName。我忘记了确切的fomat,但您可以在运行时使用NSStringFromClass(MyClass.self)进行测试?哇,您是对的,我完全忘记了模块名称空间。我已经将名称空间添加到XML中,现在它可以工作了。谢谢如果你写它作为一个答案,我可以标记为接受!根据要求添加了(非常简短的)答案:)