在swift中使用widevine库
我有一个技术问题。 我已将widevine库集成到我的swift项目中。 我已经链接到objective-c库。 问题在于图书馆使用:在swift中使用widevine库,swift,drm,widevine,Swift,Drm,Widevine,我有一个技术问题。 我已将widevine库集成到我的swift项目中。 我已经链接到objective-c库。 问题在于图书馆使用: WViOsApiStatus WV_Initialize(const WViOsApiStatusCallback callback, NSDictionary *settings ); 其中WViOsApiStatusCallback为: typedef WViOsApiStatus (*WViOsApiStatusCallback)( WViOsApiEv
WViOsApiStatus WV_Initialize(const WViOsApiStatusCallback callback, NSDictionary *settings );
其中WViOsApiStatusCallback
为:
typedef WViOsApiStatus (*WViOsApiStatusCallback)( WViOsApiEvent event, NSDictionary *attributes );
在objective-c中,我在.m文件中编写此代码:
WViOsApiStatus WidevineCallback( WViOsApiEvent event, NSDictionary *attributes );
@implementation WidevineHelper
-myFunc(){
WV_Initialize(WidevineCallback, configuratioWV);
}
WViOsApiStatus WidevineCallback( WViOsApiEvent event, NSDictionary *attributes )
{
//some code
}
在Swift中,我有没有办法转换objective-c代码
多谢各位
安德烈
____附加信息____
class WidevineHelper: NSObject {
typealias WViOsApiStatusCallback = (event: WViOsApiEvent, attributes: NSDictionary? ) -> WViOsApiStatus
var testCallaback : WViOsApiStatusCallback = {(event: WViOsApiEvent, attributes: NSDictionary?) ->WViOsApiStatus in
}
func testfunction(){
var test = WV_Initialize(callback: testCallaback , settings: [NSObject : AnyObject]())
}
}
我试试这个;这似乎是正确的,但编译器说:
/path/WidevineHelper.swift:20:20:无法使用类型为“”的参数列表调用“WV_Initialize”(回调:WViOsApiStatusCallback,设置:[NSObject:AnyObject])”
目标c中的widevine方法声明为:
typedef WViOsApiStatus (*WViOsApiStatusCallback)( WViOsApiEvent event, NSDictionary *attributes );
WViOsApiStatus WV_Initialize(const WViOsApiStatusCallback callback, NSDictionary *settings );
在斯威夫特上移植我快疯了。真可悲。使用xcode 7测试版。在swift 2.0中,您可以轻松使用函数指针
WV_Initialize({ (event, attr) -> WViOsApiStatus in
return WViOsApiStatus_OK
}, options)
使用xcode 7测试版。在swift 2.0中,您可以轻松使用函数指针。