首页后端开发其他后端知识swift中定义接口的方法是什么

swift中定义接口的方法是什么

时间2024-03-28 11:22:03发布访客分类其他后端知识浏览415
导读:这篇文章主要给大家介绍“swift中定义接口的方法是什么”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“swift中定义接口的方法是什么”文章能对大家有所帮助。...
这篇文章主要给大家介绍“swift中定义接口的方法是什么”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“swift中定义接口的方法是什么”文章能对大家有所帮助。


Objective-C中的protocol里存在@optional关键字,被这个关键字修饰的方法并非必须要被实现。我们可以通过接口定义一系列方法,然后由实现接口的类选择性地实现其中几个方法。在Cocoa API中很多情况下接口方法都是可选的,这点和Swift中的protocol的所有方法都必须被实现这一特性完全不同。


那些如果没有实现则接口就无法正常工作的方法一般是必须的,而相对地像作为事件通知或者对非关键属性进行配置的方法一般都是可选的。最好的例子我想应该是UITableViewDataSource和UITableViewDelegate。前者中有两个必要方法:

-tableView:numberOfRowsInSection:  
-tableView:cellForRowAtIndexPath: 


分别用来计算和准备tableView的高度以及提供每一个cell的样式,而其他的像是返回section个数或者询问 cell 是否能被编辑的方法都有默认的行为,都是可选方法;后者(UITableViewDelegate)中的所有方法都是详细的配置和事件回传,因此全部都是可选的。


原生的Swift protocol里没有可选项,所有定义的方法都是必须实现的。如果我们想要像Objective-C里那样定义可选的接口方法,就需要将接口本身定义为Objective-C的,也即在protocol定义之前加上@objc。另外和Objective-C中的@optional不同,我们使用没有@符号的关键字optional来定义可选方法:

@objc protocol OptionalProtocol {
  
    optional func optionalMethod()  
}
  


另外,对于所有的声明,它们的前缀修饰是完全分开的。也就是说你不能像是在Objective-C里那样用一个@optional指定接下来的若干个方法都是可选的了,必须对每一个可选方法添加前缀,对于没有前缀的方法来说,它们是默认必须实现的:

@objc protocol OptionalProtocol {
  
    optional func optionalMethod()  // 可选  
    func necessaryMethod()          // 必须  
    optional func anotherOptionalMethod() // 可选  
}
      


一个不可避免的限制是,使用@objc修饰的protocol就只能被class实现了,也就是说,对于struct和enum类型,我们是无法令它们所实现的接口中含有可选方法或者属性的。

若资源对你有帮助、浏览后有很大收获、不妨小额打赏我一下、你的鼓励是维持我不断写博客最大动力

想获取DD博客最新代码、你可以扫描下方的二维码、关注DD博客微信公众号(ddblogs)

或者你也可以关注我的新浪微博、了解DD博客的最新动态:DD博客官方微博(dwtedx的微博)

如对资源有任何疑问或觉得仍然有很大的改善空间、可以对该博文进行评论、希望不吝赐教

为保证及时回复、可以使用博客留言板给我留言: DD博客留言板(dwtedx的留言板)

感谢你的访问、祝你生活愉快、工作顺心、欢迎常来逛逛


感谢各位的阅读,以上就是“swift中定义接口的方法是什么”的内容了,通过以上内容的阐述,相信大家对swift中定义接口的方法是什么已经有了进一步的了解,如果想要了解更多相关的内容,欢迎关注网络,网络将为大家推送更多相关知识点的文章。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: swift中定义接口的方法是什么
本文地址: https://pptw.com/jishu/654906.html
JS构造函数和原型prototype不同在哪 Bootstrap怎么实现响应式布局,有什么要注意

游客 回复需填写必要信息