与Swift集成Objective C协议

韦尔斯

我是新手,我需要一些帮助来集成组件AKPickerView(用Objective C编写)。组件链接:https : //github.com/Akkyie/AKPickerView

但是我没有成功,因为有一个协议:AKPickerViewDelegate在Swift中不起作用:

@class AKPickerView;

@protocol AKPickerViewDelegate <NSObject>
@optional
- (NSString *)pickerView:(AKPickerView *)pickerView titleForItem:(NSInteger)item;
- (NSUInteger)numberOfItemsInPickerView:(AKPickerView *)pickerView;
- (void)pickerView:(AKPickerView *)pickerView didSelectItem:(NSInteger)item;
@end

在Swift中,我编写了以下代码:

class ViewController: UIViewController, AKPickerViewDelegate {

var pickerView : AKPickerView = AKPickerView()
var titles     : NSArray = ["Janeiro","Fevereiro","Março","Abril","Maio"]

...

我暗示了这种方法:

func numberOfItemsInPickerView(pickerView : AKPickerView!) -> Int{

    return self.titles.count
}


func pickerView(pickerView: AKPickerView, titleForItem item : NSInteger) -> NSString {

    return self.titles[item] as NSString
}

但是编译器显示此错误:

Type 'ViewController' does not conform to protocol 'AKPickerViewDelegate'

感谢一些帮助,谢谢!

编码器

正如我在链接AKPickerViewDelegate看到的那样,需要使用方法。

@protocol AKPickerViewDelegate <NSObject>
@required
- (NSUInteger)numberOfItemsInPickerView:(AKPickerView *)pickerView;
- (NSString *)pickerView:(AKPickerView *)pickerView titleForItem:(NSInteger)item;
@optional
- (void)pickerView:(AKPickerView *)pickerView didSelectItem:(NSInteger)item;
@end

因此,您需要快速实现它们。按如下所示实施这些方法,它将消除错误

func numberOfItemsInPickerView(pickerView: AKPickerView!) -> UInt {

    return self.titles.count
}

func pickerView(pickerView: AKPickerView!, titleForItem item: Int) -> String! {

   return self.titles[item]
}

请注意,您还需要在桥接标题中添加它们#import "AKPickerView.h"Swifter-Bridging-Header.h

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Swift协议不会触发Objective C协议方法

来自分类Dev

符合Objective-C协议的Swift类

来自分类Dev

在Objective-C中使用Swift协议

来自分类Dev

Objective-C类中的Swift协议

来自分类Dev

在Swift中实现Objective C协议

来自分类Dev

在Swift上委派Objective-C协议

来自分类Dev

在 Swift 中实现 Objective-C 协议

来自分类Dev

在iOS上集成Amazon Payments(Swift或Objective-C)

来自分类Dev

将Swift集成到Objective-C应用程序

来自分类Dev

在 Objective-C 应用程序中集成 Swift 项目

来自分类Dev

Objective C协议泛型

来自分类Dev

使用getter在Objective-C协议上的Swift 1.2错误

来自分类常见问题

在Objective-C类中导入Swift协议

来自分类Dev

Swift对应的Objective C语法“ extension where self:<某些协议>”

来自分类Dev

在Swift中将字典对象传递给Objective C协议

来自分类Dev

Swift中不可见的Objective-C协议方法

来自分类Dev

Swift中无法识别Objective-C协议

来自分类Dev

如何使Swift类符合Objective-C协议,而又不使其暴露于Objective-C?

来自分类Dev

Objective-C协议的默认实现

来自分类Dev

Objective-C协议不发送消息

来自分类Dev

Objective-C对实现协议的对象的引用

来自分类Dev

将cocoapods集成/安装到现有的xcode项目,objective-c或swift中

来自分类Dev

将Swift框架集成到Objective-C应用程序

来自分类Dev

Swift中不应该执行Objective-C的可选协议吗?

来自分类Dev

如何在Swift中为Objective-C中定义的接口指定协议名称

来自分类Dev

Swift类不符合带有错误处理的Objective-C协议

来自分类Dev

如何创建符合Swift和Objective-C共享协议的类方法?

来自分类Dev

Swift 2协议扩展和对Objective-C类型的一致性

来自分类Dev

如何使用Swift中的协议公开Objective-C对象的私有类方法?

Related 相关文章

热门标签

归档