Objective c 混合Swift和Objective C:在Objective C中使用Swift类型

Objective c 混合Swift和Objective C:在Objective C中使用Swift类型,objective-c,swift,Objective C,Swift,我在Objective C中有一些遗留代码,我不想重写成Swift,但我想在Swift中使用这些代码 我已经很好地实现了这一点,但是在Swift和Objective C中必须在基本类型之间进行转换,这既麻烦又冗长。例如,您必须在Swift中从Int转换为Int32才能在Objective C中使用它 为了使这更容易,我很乐意在我的目标C代码中创建额外的重载,这些重载接受Swift类型。这似乎比在每个呼叫站点中进行转换更容易 有没有一种方法可以在Objective C中使用Swift类型?大概是这

我在Objective C中有一些遗留代码,我不想重写成Swift,但我想在Swift中使用这些代码

我已经很好地实现了这一点,但是在Swift和Objective C中必须在基本类型之间进行转换,这既麻烦又冗长。例如,您必须在Swift中从Int转换为Int32才能在Objective C中使用它

为了使这更容易,我很乐意在我的目标C代码中创建额外的重载,这些重载接受Swift类型。这似乎比在每个呼叫站点中进行转换更容易

有没有一种方法可以在Objective C中使用Swift类型?大概是这样的:

-(void) doSomething:(Int*)theInt {
}
这可能吗

否则,是否可以在Swift中的两种类型之间创建隐式强制转换运算符

还有其他的解决方案吗

根据要求,这里有一个当前情况的代码示例

以下是目标C:

@interface TestClass : NSObject 

+(void) somemethod:(int)param;

@end

@implementation TestClass

+(void) somemethod:(int)param {

}

@end
以下是在Swift中调用该方法的示例:

let swiftInt :Int = 2
TestClass.somemethod(Int32(swiftInt))

当从Swift调用时,我想消除在每个调用站点中转换为Int32的需要。

我将方法签名更改为使用NSInteger而不是int,并且它工作良好,无需强制转换

+(void)somemethod:(int)param

改为:


+(void)somemethod:(NSInteger)param

Swift的
Int
在目标C中被称为
NSInteger
。编辑:嗯,这是一个自动桥接器,虽然它们不是同一类型。你能提供一个代码示例吗?@M\G我根据要求添加了一个当前情况的示例