我在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:
它们不匹配。