swift问题中的Objective-c协议



我在objective-c中有一个协议:

@protocol stuffDelegate <NSObject>
- (void) applyFiltersWithCuisines:(NSMutableArray *)cuisinesArray neighborhoods:(NSMutableArray *)neighborhoodsArray vibes:(NSMutableArray *) vibesArray;
@end

我正试图在swift中使用这种方法:

func applyFiltersWithCuisines(cuisinesArray : NSMutableArray, neighborhoodsArray : NSMutableArray, vibesArray : NSMutableArray) -> () {
    println("do stuff")
}

swift文件中存在问题:

类型"controller"不符合协议"stuffDelegate",有什么想法吗?

所以问题是它在swift 中看起来不一样

您的参数名称在协议和方法中有所不同。协议定义

-applyFiltersWithCuisines:neighborhoods:vibes:

Swift方法(@selector)的ObjectiveC签名将是

-applyFiltersWithCuisines:neighborhoodsArray:vibesArray:

它们不匹配。

最新更新