最新 最热

「iOS」swift 和 objectivec 获得对象的 class 或者 Type 的方法

一、oc 中使用oc 中非常简单一行搞定 NSString* str1 = @"test"; [str1 class];这里的 [str1 class];就是获取对象 class 的方法二、swift 中使用时间紧,任务重,上代码 var str: String = "test......

2021-09-24
1

IOS 代码扫描从放弃到入门

我司今年开始尝试一些代码质量相关建设,比如组织 codereview、修复代码扫描漏洞.这是一个很好的现象,当我们为了快速迭代,往往为了让需求上线,导致代码并不是很规范,时间长了就留下了一堆技术债....

2021-09-23
1

避免 Swift 单元测试中的强制解析

强制解析(使用 !)是 Swift 语言中不可或缺的一个重要特点(特别是和 Objective-C 的接口混合使用时)。它回避了一些其他问题,使得 Swift 语言变得更加优秀。比如 处理 Swift 中非可选的可选值类型[1] 这篇文章中,在项目逻辑...

2021-09-09
1

Swift之 ? 和 !

Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化。如果在使用变量之前不进行初始化就会报错:...

2021-09-07
1

Swift之 @auto_closure

assert就是断言,这里采用条件编译,作用是如果在调试情况下,检查参数e,如果是false,就给出错误提示并终止程序执行,如果是非DEBUG情况下,就什么都不做。这种宏实现的方式是没有运行时性能影响的,因为我们知道宏展开基本是直接...

2021-09-07
1

Swift 之类型的协变与逆变

刚开始看到协变(Covariance)和逆变(Contravariance)的时候,差点晕菜,反复查了一些资料,才稍有些自己的体会,难免有理解不对的地方,欢迎指出 :]

2021-09-07
1

揭开 Monad 的神秘面纱

我们知道 Swift 语言支持函数式编程范式,所以函数式编程的一些概念近来比较火。有一些相对于OOP来说不太一样的概念,比如 Applicative, Functor 以及今天的主题 Monad. 如果单纯的从字面上来看,很神秘,完全不知道其含义...

2021-09-07
1

2021 年 iOS 应用程序开发七种最佳语言

移动应用程序现在几乎是每个在线业务的必备品。最新的 StatCounter 数据显示,多达56% 的在线连接是通过移动设备建立的,这使它们高于平板电脑和计算机。更重要的是,同一个消息来源说,其中27% 是 iOS 设备。...

2021-08-23
1

LeetCode 剑指 Offer 24. 反转链表(swift)

题目定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL限制:0 <...

2021-08-18
1

LeetCode 剑指 Offer 06. 从尾到头打印链表(swift)

题目输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 `示例 1:输入:head = 1,3,2输出:2,3,1 `限制:0 <= 链表长度 <= 10000解题...

2021-08-18
1