Ios SWIFT:尝试使用目标c类的委托方法

Ios SWIFT:尝试使用目标c类的委托方法,ios,objective-c,swift,delegates,augmented-reality,Ios,Objective C,Swift,Delegates,Augmented Reality,我有一个现有的Objective-csdk(augmentedkitsdk)。我正在尝试将其与Swift一起使用AugmentedKit SDK有一个名为“AKSurfaceView”的类,该类实现了对“AKViewDataSource”协议的委托 @class AKSurfaceView; @protocol AKViewDataSource; @protocol AKViewDelegate<AKViewDataSource> 我在SWIFT中实现的“viewforMarke

我有一个现有的
Objective-csdk(augmentedkitsdk)
。我正在尝试将其与
Swift
一起使用
AugmentedKit SDK
有一个名为“
AKSurfaceView
”的类,该类实现了对“
AKViewDataSource
”协议的委托

@class AKSurfaceView;
@protocol AKViewDataSource;

@protocol AKViewDelegate<AKViewDataSource>
我在SWIFT中实现的“
viewforMarker
”如下所示:

@protocol AKViewDataSource<NSObject>
@required
-(AKMarkerTemplate*) viewforMarker:(AKMarker*) marker; 
class POIViewController: UIViewController, AKViewDelegate {
func viewforMarker(marker:AKMarker) -> AKMarkerTemplate{
    var markerView:SimpleMarker = SimpleMarker(frame: CGRectMake(0, 0, 230, 80))
    markerView.title.text = marker.markerName
    return markerView
}

请任何人帮我弄清楚如何实现“
akviewFormarker
”,以便学员识别它?

看起来您的
AKViewDelegate
AKViewDataSource
的子类,在这种情况下,您必须遵守
AKViewDelegate
AKViewDataSource
,这意味着您必须实现这两个协议所需的方法。

确保您已在
桥接头.h
中导入了OBECT-C类,并在swift类中添加了以下内容:

markerView.delegate = self

SimpleMarker是一个AKMarkerTemplate吗?是的,SimpleMarker是一个AKMarkerTemplate。我试过你的代码,它编译得很好(考虑到所有需要考虑的东西)。我建议你做的就是我做的——做一个简单的项目,只包含那些声明。您将看到它编译得很好。现在,您可以找出实际项目中的错误。通常,您需要将返回的对象作为可选对象进行质量评估,因为现在ObjC例程返回nil是完全合法的。例如:func viewforMarker(marker:AKMarker!)->AKMarkerTemplate!(注意'!'s)