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里实现这个方法, 如果不能实现的话,那分离代码的功能就无法提现出来了

相关推荐
YJlio7 小时前
1.7 通过 Sysinternals Live 在线运行工具:不下载也能用的“云端工具箱”
c语言·网络·python·数码相机·ios·django·iphone
Sheffi6614 小时前
Swift 所有权宏 `~Copyable` 深度解析:如何在 Swift 中实现类似 Rust 的内存安全模型?
rust·ssh·swift
2501_9419820517 小时前
Go 开发实战:基于 RPA 接口的主动消息推送
ios·iphone
忆江南18 小时前
Swift 全面深入指南
ios
00后程序员张20 小时前
iOS 应用代码混淆,对已编译 IPA 进行类与方法混淆
android·ios·小程序·https·uni-app·iphone·webview
YJlio21 小时前
1.6 使用 Streams 工具移除下载文件的 ADS 信息:把“来自互联网”的小尾巴剪掉
c语言·网络·python·数码相机·ios·django·iphone
阿捏利21 小时前
详解Mach-O(五)Mach-O LC_SYMTAB
macos·ios·c/c++·mach-o
文件夹__iOS1 天前
Swift 性能优化:Copy-on-Write(COW) 与懒加载核心技巧
开发语言·ios·swift
Sheffi661 天前
Xcode 26.3 AI编程搭档深度解析:如何用自然语言10分钟开发完整iOS应用
ios·ai编程·xcode
文件夹__iOS1 天前
Array、Dictionary、Set 是值类型还是引用类型?
swift