首页 > 其他分享 >swift 比 oc 爽在哪里

swift 比 oc 爽在哪里

时间:2022-08-14 23:44:57浏览次数:45  
标签:sharedInstance 代码 oc 哪里 static swift once

好维护,重构方便

编译器提示多,

改函数名字,变量名字,oc 有时候名字会匹配错
如果你扩展了枚举类型,switch case 会有完备性提示 。

拆代码容易

没有头文件,拆分代码比较容易,代码逻辑拆分不干净,也可以先将一些逻辑拆分到更小的文件中去,至少单文件代码行数变少了。

代码短

函数式编程,filter,map,reduce ,能轻松组合复杂的逻辑
枚举名可以写的很短

容易写出内聚的代码

enum 的extension 里写分支逻辑

组合优于继承的思想

protocol 的extension 默认实现,让一个类轻松 拥有协议中的基础功能

从设计模式上比对swift 和oc

单例模式

oc

+ (Class*)sharedInstance {
    static dispatch_once_t once;
    static Class *sharedInstance;
    dispatch_once(&once, ^ {
        sharedInstance = [self new];
    });    
    return sharedInstance;
}

swift

public class MySingleton {
  static let shared = MySingleton() // <----- 这里一行
  private init() { }
}

oc 要写8 行,swift 写一行就可以了

标签:sharedInstance,代码,oc,哪里,static,swift,once
From: https://www.cnblogs.com/pencilCool/p/16586663.html

相关文章

  • Spring核心思想Ioc和Aop (面试)
    Spring核心思想Ioc和Aop(面试)注意:Ioc和Aop并不是Spring提出的,在Spring之前就已经存在,Spring只是在技术层面给这两个思想做了非常好的实现。1Ioc1.1下面谈谈你是......
  • Spring核心思想Ioc和Aop (面试)
    Spring核心思想Ioc和Aop(面试)注意:Ioc和Aop并不是Spring提出的,在Spring之前就已经存在,Spring在技术层面给这两个思想做了非常好的实现。1Ioc面试官:下面谈谈你是......
  • Red Hat修复Samba服务中的Badlock缺陷
    RedHat近日公布了其产品在与WindowsAD进行互动及Samba服务的协议缺陷,此次被发现的漏洞将影响RedHatIdentityManagement、RedHatGlusterStorage及RHEL的Samba服务器......
  • Spring IoC 常用注解手写实现
    执行流程1.  初始化Spring容器时传入配置类,通过配置类的@ComponentScan注解告知Spring需要扫描的包路径,不在扫描包路径下的@Component等注解修饰的Bean不会被IoC容器......
  • centos7使用 Docker Engine部署gitlab
    1.安装docker-ce卸载旧版本:yumremovedockerdocker-commondocker-selinuxdocker-engine一、虚拟机联网,安装yum工具执行以下命令yuminstall-yyum-utils\dev......
  • Docker 常用命令
    基本命令安装Centoscd/etc/yum.repos.dwgethttps://download.docker.com/linux/centos/docker-ce.repoyuminstalldocker-ce-y如果安装过程中报错:packagedock......
  • Docker 01
    1.Docker启动/关闭a.开启dockersystemctlstartdockerb.查看docker状态systemctlstatusdockerc.关闭dockersystemctlstopdockerd.docker开机自启动s......
  • docker swarm容器编排学习笔记
    1、介绍DockerSwarm 和DockerCompose一样,都是Docker官方容器编排项目不同点:DockerCompose是一个在单个服务器或主机上创建多个容器的工具,DockerSwarm则可以......
  • (Docker)镜像的制作与部署方式
    基于Linux的虚拟化(Docker)镜像的制作与部署方式原创 曹兆祺 风乍起带你学编程 2022-08-1323:00 发表于天津收录于合集#docker5个#镜像1个#linux3个  ......
  • P8245 [COCI2013-2014#3] PAROVI & ZLOJ 练习62 D
    writtenon2022-08-09一道有趣的计数题。首先题面中最引人注目的就是两个整数的数据范围。很显然,暴力的思路,枚举所有数,找出每一位上每一种数字的个数这种方法是不可行......