![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Swift
文章平均质量分 65
Lucy-JY
iOS 开发终身学习者!
展开
-
Swift5 特性之方法交换
swift5 通过在方法前面添加关键字来实现方法的交换,遗憾的是,我们无法通过这种方式hook系统的方法。并且,不管你交换多少次,实现的总是最后一次。import UIKitclass TestClass { dynamic func test() { debugPrint("一个测试方法") }}extension TestClass { @_dynamicReplacement(for: test()) func anotherTest()原创 2021-01-27 19:12:36 · 1271 阅读 · 0 评论 -
iOS-在控制器View中添加子视图后,几个方法的调用顺序问题
iOS-在控制器View中添加子视图后,几个方法的调用顺序问题结论:修改子视图的frame,会出发控制器的两个方法:viewWillLayoutSubviews,viewDidLayoutSubviews;父视图调用过上述两个方法之后,子视图才调用layoutSubviews。如果使用自动布局,则需要设置translatesAutoresizingMaskIntoConstraints属性为false,此时设置view的frame属性无效。示例代码class CustomButton: U原创 2020-10-15 20:02:06 · 503 阅读 · 0 评论 -
iOS-卡片/卡牌堆叠式布局,无限滑动实现方案(一)
iOS-卡片/卡牌堆叠式布局,无限滑动实现方案(一)效果图思路众所周知,UICollectionView是非常强大的,只要脑洞大,没有什么布局是实现不了的。而其中最关键的就是对UICollectionViewLayout的设计,也就是自定义布局。步骤:继承UICollectionViewLayout,创建UICollectionViewLayout的子类,如JYCardViewLayout子类中重写父类方法:override func prepare()override var col原创 2020-10-14 11:44:12 · 4201 阅读 · 0 评论 -
Swift 可选值类型
Swift 中的可选值(Optional)类型Optional类型的本质enum Optional<Wrapped>{ case none case some(Wrapped)}Optional 实际上就是一个枚举。可选值是Swift中重要的基础类型之一,所以有更加简洁的语法来表示。例如:Optional<Int>可以写成Int?因为可选值遵守ExpressibleByNilLiteral协议,所以可以用 nil 代替.none。当你看见问号的时候,实际原创 2020-08-08 23:54:30 · 623 阅读 · 0 评论 -
常用正则表达式
一、校验数字的表达式 1 数字:^[0-9]*$ 2 n位的数字:^\d{n}$ 3 至少n位的数字:^\d{n,}$ 4 m-n位的数字:^\d{m,n}$ 5 零和非零开头的数字:^(0|[1-9][0-9]*)$ 6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$ 7 带1-2位小数的正数或负数:^(\-)?\d+(\.原创 2017-01-07 11:01:49 · 308 阅读 · 0 评论 -
swift-9 类型转换
类型转换类型转换可以判断实例的类型,也可以将实例看做是其父类或者子类的实例。 类型转换在 Swift 中使用 is 和 as 操作符实现。这两个操作符提供了一种简单达意的方式去检查值的类型或者 转换它的类型。 你也可以用它来检查一个类是否实现了某个协议。定义一个类层次作为例子你可以将类型转换用在类和子类的层次结构上,检查特定类实例的类型并且转换这个类实例的类型成为这个层次 结构中的其他类型。下原创 2016-11-09 18:16:27 · 715 阅读 · 0 评论 -
Swift-运算符重载
原文地址:http://www.raywenderlich.com/80818/operator-overloading-in-swift-tutorial 作者:Corinne Krych 译者:孟祥月 blog:http://blog.csdn.net/mengxiangyue这篇文章是本人第一次翻译,难免有错误,翻译的时候使用的是txt,所以格式上面有些不太好。在早前的IO转载 2016-10-25 15:56:44 · 647 阅读 · 0 评论 -
swift7-可选类型
刚开始接触到 swift代码时,看见“?”感觉好奇怪,后来学习了才知道,它有着特殊的含义。使用可选类型(optionals)来处理值可能缺失的情况。可选类型表示:?有值,等于 x 或者?没有值 注意:C 和 Objective-C中没有可选类型这个概念。最接近的是 Objective-C中的一个特性,一个方法要不返回一个对象返回 nil,nil 表示“缺少一个合法的对象”。然而,这只对对象起作用原创 2016-07-19 11:03:49 · 366 阅读 · 0 评论 -
swift6-元祖
元祖(tuples)把多个值组合成一个复合值.元组内的值可以是任意类型,并不要求是相同类型. 例如:let http404Error = (404,"Not Found") // http404Error 的类型是(Int, String),值是(404,"Not Found").例子中,(404,"Not Found") 是一个描述 HTTP 状态码(HTTP status code)的元祖.原创 2016-07-03 22:15:46 · 411 阅读 · 0 评论 -
swift-4 数据的存储以及转换
关于数据的存储和转换原创 2016-06-16 10:50:05 · 961 阅读 · 0 评论 -
swift8-错误处理
你可以使用错误处理(error handling)来应对程序执行中可能会遇到的错误条件。相对于可选中运用值的存在与缺失来表达函数的成功与失败,错误处理可以推断失败的原因,并传播至程序的其他部分。 当一个函数遇到错误条件,它能报错。调用函数的地方可以抛出错误消息并合并处理。fun canThrowAnErrow()throws { //这个函数有可能抛出错误}一个函数可以通过在声明中添加th原创 2016-07-24 20:20:32 · 380 阅读 · 0 评论 -
swift-3注释
swift 注释与 C语言的很相似.有单行注释,也有多行注释.与 C语言不同的是, swift 的多行注释可以嵌套./*外层注释的开头/*这里是内层注释*/外层注释的结尾*/原创 2016-06-11 11:58:51 · 510 阅读 · 0 评论 -
swift-2类型标注
类型标注,英文 type annotation, 集成过地图的小伙伴们肯定知道 annotation.(经常积累英语词汇).当你声明常量或者变量的时候可以加上类型标注,说明常量或者变量中要存储的值的类型,如果要添加类型标注,需要在常量或者变量后面加上一个冒号和空格,然后加上类型名称.例如,声明一个类型为string, 名称为 name 的变量,可以这么来var name: String原创 2016-06-11 09:46:10 · 475 阅读 · 0 评论 -
swift-1
如果你已经熟练使用 OC ,那么 swift 对已你来说只是小菜一碟.没有玩儿过 OC 的小伙伴也不要灰心,只要你有编程经验,你会发现, swift 仿佛就是你的似曾相识的梦中女孩.那么我先告诉你 swift 的几大特点:1.你不需要在每个语句结尾写上分号.2.你不需要为了输入输出或者字符串处理导入一个库.3.全局作用域的代码会被自动当做程序的入口点,所以你也不需要 main 函数原创 2016-05-25 08:56:04 · 435 阅读 · 0 评论 -
swift-5类型别名和布尔值
类型别名类型别名(type aliases)就是给现有类型定义另一个名字.这个在 C 语言里面也有,不同的就是关键字而已.你可以使用关键字 typealias来定义类型别名.例如我们给UInt8起个别名,可以这样写typealias Haha = UInt8.那么以后使用Haha就可以代替UInt8 了 .很简单!布尔值swift 有一个基本的布尔类型, Bool.swift 有两个布尔常量,tru原创 2016-06-25 09:06:48 · 817 阅读 · 0 评论