我有一个Objective-C SDK (AugmentedKit SDK)
。我正在尝试将其与Swift
一起使用。 AugmentedKit SDK
有一个名为“AKSurfaceView
”的类,它实现了对“AKViewDataSource
”协议的委托。
@class AKSurfaceView;
@protocol AKViewDataSource;
@protocol AKViewDelegate<AKViewDataSource>
AKViewDataSource看起来像这样:
@protocol AKViewDataSource<NSObject>
@required
-(AKMarkerTemplate*) viewforMarker:(AKMarker*) marker;
我已经创建了一个briging文件,从AKSurfaceView
等实现了其他方法 - 一切正常但是当我尝试将AKViewDelegate
的引用添加到我的UIViewControllerClass
时以编译错误结束:
“类型POIViewController
不符合协议”AKViewDataSource
“
我的实现如下:
class POIViewController: UIViewController, AKViewDelegate {
我在SWIFT中对“viewforMarker
”的实现如下所示:
func viewforMarker(marker:AKMarker) -> AKMarkerTemplate{
var markerView:SimpleMarker = SimpleMarker(frame: CGRectMake(0, 0, 230, 80))
markerView.title.text = marker.markerName
return markerView
}
可以请任何人帮助我弄清楚我必须如何实施“viewforMarker
”,以便代表认出来吗?
答案 0 :(得分:1)
您的AKViewDelegate
似乎是AKViewDataSource
的子类,在这种情况下,您必须符合AKViewDelegate
和AKViewDataSource
,这意味着您必须实现两种协议所需的方法。
答案 1 :(得分:0)
确保已在Bridging-Header.h
内导入了Obective-C类,并在swift类中添加了以下内容:
markerView.delegate = self