扩展就是为一个已有的类、结构体、枚举类型或者协议类型添加新功能。这包括在没有权限获取原始源代码的情况下扩展类型的能力(即 逆向建模)。扩展和 Objective-C 的分类类似。(与 Objective-C 不同的是,Swift 的扩展没有名字。) swift 中的扩展可以: 添加计算型属性和计算型 ...
分类:
编程语言 时间:
2018-01-01 11:24:21
阅读次数:
149
构造过程是使用类、结构体或枚举类型的实例之前的准备过程。在新实例可用前必须执行这个过程,具体操作包括设置实例中每个存储型属性的初始值和执行其他必须的设置或初始化工作。 通过定义构造器来实现构造过程,这些构造器可以看做是用来创建特定类型新实例的特殊方法。与 OC 中的构造器不同,swift 的构造器无 ...
分类:
编程语言 时间:
2017-12-07 23:50:47
阅读次数:
272
你肯定也想过 在OC中相信每一个iOS开发都知道Runtime, 现在Swift也更新到4.0版本了,要是你也学习过Swift的话你可能也会想过这样一个问题,OC大家都是到是有动态性的,你能通过runtime 的API获取你想要的属性方法等等,那Swift呢?是不是也和OC一样呢? 这个问题在我看S ...
分类:
编程语言 时间:
2017-12-07 17:20:00
阅读次数:
199
cinder 备份提供了三种驱动服务: Ceph,TSM,Swift 其中默认备份驱动服务为swift cinder 驱动服务的配置在cinder.conf文件中 backup_driver=cinder.backup.drivers.swift Ceph的配置 backup_driver = ci ...
分类:
其他好文 时间:
2017-11-06 20:08:35
阅读次数:
290
Swift 是一门开发 iOS macOS watchOS 和 tvOS 应用的新语言。然而,如果你有 C 或者 Objective-C 开发经验的话,你会发现Swift 的很多内容都是你熟悉的。 Swift 包含了 C 和 Objective-C 上所有基础数据类型, Int 表示整型值; Dou ...
分类:
编程语言 时间:
2017-11-04 16:23:06
阅读次数:
206
最近在找工作时被问到swift底层的一些原理,为了以后能有印象,所以决定做一下笔记 以下由(http://www.openstack.cn/?p=776)转载 ——Openstack Swift 开源云存储技术解析 OpenStack Swift 开源项目提供了弹性可伸缩、高可用的分布式对象存储服务 ...
分类:
编程语言 时间:
2017-10-26 15:31:55
阅读次数:
304
最近在找工作时被问到swift底层的一些原理,为了以后能有印象,所以决定做一下笔记 以下由(http://www.openstack.cn/?p=776)转载 ——Openstack Swift 开源云存储技术解析 ——Openstack Swift 开源云存储技术解析 OpenStack Swif ...
分类:
编程语言 时间:
2017-10-26 15:20:01
阅读次数:
202
从强制解包看 Swift 的设计 不知道大家有没有发现,在一个 Objective-C 和 Swift 混编的 App 中,当把一个 OC 中的参数转到 Swift 时,Swift 会自动把这个变量进行强制解包。举个例子,我在 OC 中定义这样一个变量: @property (nonatomic, ...
分类:
编程语言 时间:
2017-10-04 18:02:28
阅读次数:
238
Swift结构体是构建代码所用的一种通用且灵活的构造体。我们可以为结构体定义属性(常量、变量)和添加方法,从而扩展结构体的功能。与C和ObjectiveC不同的是:结构体不需要包含实现文件和接口。结构体允许我们创建一个单一文件,且系统会自动生成面向其它代码的外部接口。结构..
分类:
编程语言 时间:
2017-09-25 19:02:59
阅读次数:
156
很多时候我们会用到md5加密,下面是swift 3.0的实现方法: 首先新建桥接文件 xx-Bridging-Header,方法很多,这里就不介绍了。 然后在桥接文件中引入加密库 新建一个 Swift 扩展类文件 String+Extension 使用方法: ...
分类:
编程语言 时间:
2017-09-05 21:59:03
阅读次数:
279