Swift 创建扩展(Extension)

类别(Category) 和 扩展(Extension) 的 用法很多.

常用的 扩展(Extension) 有分离代码和封装模块的功能,例如登陆页面有注册功能,有登陆功能,有找回密码功能,都写在一个页面就太冗余了,可以考虑使用 扩展(Extension) 登陆页面的方法来分离代码

本文介绍Swift 如何创建扩展(Extension)

PS. Object-C 创建类别的方法和使用,看我另一篇文章:https://blog.csdn.net/wyz670083956/article/details/141102502?spm=1001.2014.3001.5502

1.1. 目录右键 New File --> ios --> Swift File (如下图:)

1.2. 给文件取名字,理论上来说是随意取,但是名字要有意义; 我这里要给LoginVC 写一个 扩展(Extension),扩展的用途是在扩展页面里写注册方法,所以我的文件名叫LoginVC-Sign.写完点击"Next"即可

PS: Swift和Object-C 创建类别(Category) 和 扩展(Extension)的方法不一样,Object-C 在创建的时候要求你选择文件的种类和要拓展的类, Swift则不需要.

1.3.进入LoginVC-Sign页面后,需要写扩展的代码,extension-LoginVC,如下图:

1.4.1在LoginVC-Sign页面里写的任何方法或者属性,LoginVC里都能使用.例如在LoginVC-Sign写了一个注册帐号的方法signAccount

1.4.2.在LoginVC里使用

PS:

Object-c 的扩展(Extension)好像不能在新的扩展页面LoginVC-Sign里写方法,或者说可以写方法,但是不能在扩展页面LoginVC-Sign里实现这个方法, 如果不能实现的话,那分离代码的功能就无法提现出来了

相关推荐
zhangfeng113315 小时前
CSDN星图 支持大模型微调 trl axolotl Unsloth 趋动云 LLaMA-Factory Unsloth ms-swift 模型训练
服务器·人工智能·swift
Boxsc_midnight16 小时前
【openclaw+imessage】【免费无限流量】集成方案,支持iphone手机+macos
ios·智能手机·iphone
感谢地心引力1 天前
安卓、苹果手机无线投屏到Windows
android·windows·ios·智能手机·安卓·苹果·投屏
2501_915918412 天前
HTTPS 代理失效,启用双向认证(mTLS)的 iOS 应用网络怎么抓包调试
android·网络·ios·小程序·https·uni-app·iphone
Swift社区2 天前
Flutter 路由系统,对比 RN / Web / iOS 有什么本质不同?
前端·flutter·ios
zhyongrui2 天前
SnipTrip 发热优化实战:从 60Hz 到 30Hz 的性能之旅
ios·swiftui·swift
Andy Dennis2 天前
ios开发 xcode配置
ios·cocoa·xcode
JoyCong19982 天前
iOS 27 六大功能前瞻:折叠屏、AI Siri与“雪豹式”流畅体验,搭配ToDesk开启跨设备新协作
人工智能·ios·cocoa
linweidong2 天前
屏幕尺寸的万花筒:如何在 iOS 碎片化生态中以不变应万变?
macos·ios·移动开发·objective-c·cocoa·ios面试·ios面经
Cestb0n2 天前
iOS 逆向分析:东方财富请求头 em-clt-auth 与 qgqp-b-id 算法还原
python·算法·ios·金融·逆向安全