Swift 创建扩展(Extension)

news2024/12/22 14:28:19

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2119779.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

maven项目下使用Jacoco测试覆盖率

【本文前提是了解maven项目及其Pom.xml机制,不熟悉可以看该博客的0.Pre部分Auto-Unit-Test-Case-Generator -- java项目自动测试生成-CSDN博客】 JaCoCo(Java Code Coverage)是一个开源的代码覆盖率工具,专门用于测量 Java 应用程…

Web测试中如何简单定位Bug

定位bug之前要确定自己对用例的理解是否有问题。(在工作中,很多测试结果错误都是因为自己对用例的理解没有到位,以致于操作错误导致结果不符合预期) 一般来说bug分为前端bug和后端bug,前端bug为请求数据错误,后端bug为…

web基础之信息泄露

1、目录遍历漏洞 (1)原理:本质是没有过滤用户输入的 ../ 相关的目录跳转符,使得攻击者通过目录跳转符来遍历服务器中的任意文件。 (2)题解: eg:根据提示遍历网页目录信息,会在某一个…

vscode---snippets配置全局代码片段,快捷开发!

代码片段的作用:在开发一个项目时,经常会遇到好多同一个代码逻辑,可配置固顶逻辑的代码块,避免重复敲同一代码; 举例:比如跳转登录,需要调用app的客户端方法,api调用跳转&#xff1…

Web 原生组件化方案:Web Components

你好,我是沐爸,欢迎点赞、收藏、评论和关注。 Web 组件化是一种将Web应用的UI部分拆分成可复用的独立组件的架构方法。这种方法有助于提高代码的可维护性、可重用性和可测试性。 而Web Components 标准则提供了一套原生的API,允许开发者创建…

TestCraft - GPT支持的测试想法生成器和自动化测试生成器

在当今快速变化的软件开发世界中,自动化测试已成为确保软件质量的关键环节。而随着AI技术的进步,越来越多的工具开始引入人工智能,来辅助生成测试用例和自动化测试脚本。其中,TestCraft,作为一款GPT支持的测试想法生成…

天命所归,SyntaxFlow助大圣取得真经

之前预告许久的SyntaxFlow功能已经登陆Yakit! SyntaxFlow代码查询需要先进行项目编译。 手动编译 在前端的YakRunner界面,主界面或选项栏可以直接点击“编译项目”功能。 可见图中红色方框圈起的选项 编译项目的选项如下:必选项为项目名、…

工控机防病毒/防勒索病毒如何一步搞定?

随着勒索病毒的肆虐和内部运营泄密事件的频发,企业数据安全正面临着前所未有的挑战。苏州深信达网络科技有限公司,作为数据安全解决方案的先驱,推出了MCK主机加固解决方案,为企业数据安全提供了一道坚不可摧的防线。 MCK主机加固…

Linux:多路转接 select、poll、epoll

目录 1:select 1. 参数解释 2. 函数返回值 3. fd_set 4. fd_set 相关接口 5. timeval 5. 常见使用 6. 理解 select 执行过程 7. select 的特点 8. select 缺点 9. select 应用 2:socket 就绪条件 1. 读事件就绪(Readable&#x…

智能优化算法-海马优化算法(SHO)(附源码)

目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1.内容介绍 海马优化算法 (Seahorse Optimization Algorithm, SHO) 是一种基于群体智能的元启发式优化算法,它模拟了海马的觅食行为、繁殖行为以及社会互动,用于解决复杂的优化问题。 SHO的工作机制…

精选干货!分享5款ai智能写论文软件

在当今信息爆炸的时代,AI智能写作工具已经成为我们写作过程中的得力助手。特别是对于学术论文的撰写,这些工具不仅能够提高写作效率,还能帮助用户生成高质量的文稿。以下是五款值得推荐的AI智能写论文软件,其中特别推荐千笔-AIPas…

Path系统环境变量和CLASSPATH环境变量

Path系统环境变量 概述:Path环境变量不是java的,它隶属于windows操作系统 作用: PATH环境变量实际上就是给windows操作系统指路的。 在Path环境变量中有很多路径,路径和路径之间采用 分号(;) 隔开在DOS命令窗口中输入一条DOS命…

Vscode中搭建ABAP开发环境

文章目录 前提(在SAP系统中测试)1.1 登录sap 系统1.2激活测服务测试1.3 添加服务 下载Vscode2.1 安装ABAP Remote filesystem 打开ABAP System3.1 按照CtrlshiftP 找到AbapFs Connect to an ABAP system 前提(在SAP系统中测试) 1…

2-89 基于matlab的图像去噪方法

基于matlab的图像去噪方法,对比了常见的几种去噪方法,含中值滤波,均值滤波,维纳滤波,高斯滤波,以及三种形态学滤波(一般的,改进的,多结构元素形态学滤波)&…

HarmonyOS开发之Tab样式(背景高亮样式)

一:开发环境 二:效果图 三:实现步骤 Entry Component struct TabsPage {State tabArray:string[] ["首页","分类","应用","热点","我的"]State focusIndex: number 0;State index: num…

嵌入式学习(哈希表)

哈希表中元素是由哈希函数确定的,将数据元素的关键字key作为自变量,通过一定的函数关系(称为哈希函数),计算出的值,即为该元素的存储地址。 哈希函数:指将哈希表中元素的关键键值映射为元素存储…

局域网远程桌面工具:NoMachine 介绍、安装与使用

局域网远程桌面工具:NoMachine 介绍、安装与使用 NoMachine 简介Linux 安装Windows安装使用 NoMachine 简介 NoMachine是一款很常见的远程桌面工具,尤其在EDA领域,常常被用作远程接入方案。NoMachine可以用于个人远程连接,类似于…

4.第二阶段x86游戏实战2-CE加强修改移动速度(浮点数存放方式与转换)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 工具下载: 链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd6tw3 提…

2.3.2 协程调度器实现与性能测试

LINUX 精通 8 day24 20240909 晚19:35 - 20: 47 课程链接地址 老师画图用的是excalidraw 可以在线 本地! Excalidraw:开源实用的白板画图工具(在线/本地安装)-CSDN博客 2.3.2 协程调度器实现与性能测试 复习了上…

HTML/CSS/JS学习笔记 Day3(HTML--网页标签 下)

跟着该视频学习,记录笔记:【黑马程序员pink老师前端入门教程,零基础必看的h5(html5)css3移动端前端视频教程】https://www.bilibili.com/video/BV14J4114768?p12&vd_source04ee94ad3f2168d7d5252c857a2bf358 Day3 内容梳理:…