5.6 EZSwiftExtensions对整形/字符串/数组/
1. 本节课将为您演示对整型、字符串、数组、字典和日期等类型的强大扩展。首先在左侧的项目导航区,打开视图控制器的代码文件。
image
image
image
4. 接着添加一个方法,通过扩展方法获得设备的各种属性信息。
image
5. 依次获取应用程序的版本号、编译号等信息,并在控制台输出这些数据。
image
image
image
image
image
image
11. 网络图片下载完成之后,跳转到主线程,并显示下载后的图片。
image
12. 创建一个图像视图,用来显示下载的网络图片,并将图像视图添加到根视图。
image
13. 第三方类库对多线程提供了很好的支持,使开发者可以很方便地创建一个新的线程。
image
14. 通过获取JSON的方法,可以访问服务器的接口,并处理从服务器返回的数据。
image
15. 处理访问服务器接口失败的情况。接着点击右侧的垂直滚动条,跳转到编辑区的顶部位置。
image
16. 然后在视图加载完成的方法中,调用您刚刚创建的自定义方法。
image
17. 接着点击左上角的[编译并运行]按钮,启动模拟器预览项目。
image
18. 当模拟器启动之后,在屏幕上显示了从网络下载的图片。并在控制台显示了由自定义方法输出的日志信息。点击此处的[停止]按钮,关闭模拟器。
image
image
image
image
image
image
image
25. 初始化一个布尔变量,然后通过布尔类型的扩展方法,反转布尔变量的值。
image
image
27. 通过整形的扩展属性,可以检测整形数据是否为偶数或奇数。
image
image
image
image
image
32. 类型的转换变得更加方便,这里依次将整数转换成双精度、浮点类型、字符串和无符号整型。
image
image
34. 接着点击左上角的[编译并运行]按钮,启动模拟器预览项目。
image
35. 模拟器启动之后,观察在底部的控制台所输出的日志信息。点击此处的[停止]按钮,关闭模拟器。
image
image
image
image
image
40. 接着将字符串转换成双精度的类型和整型数字,并在控制台输出结果。
image
image
image
image
image
image
image
image
image
image
image
51. 可以通过设置相关的选项,对是否包含字符串进行检测。这里设置在检测字符时,考虑大小写的不同。
image
image
image
image
image
image
image
image
59. 然后通过扩展方法,将字符串转换成整型、双精度和浮点类型的数字。
image
image
image
image
image
image
65. 然后通过计数方法,统计在字符串中,总共包含了多少个指定的字符串。点击右侧的垂直滚动条,跳转到编辑区的顶部位置。
image
image
67. 然后点击左上角的[编译并运行]按钮,启动模拟器预览项目。
image
68. 模拟器启动之后,观察在底部的控制台,所输出的日志信息。点击此处的[停止]按钮,关闭模拟器。
image
image
image
71. 我们将在这个方法中,演示和可变字符串相关的扩展方法。
image
image
73. 可变字符串拥有多个扩展方法,这里依次给字符串添加下划线、加粗、斜体,并设置颜色为橙色。同时设置进行自定义样式的字符范围。
image
74. 给可变字符串添加中心线,同时设置进行自定义样式的字符范围。
image
image
image
image
78. 将可变字符串赋予标签对象,然后再将标签对象,添加到根视图。接着点击右侧的垂直滚动条,跳转到编辑区的顶部位置。
image
image
80. 接着点击左上角的[编译并运行]按钮,启动模拟器预览项目。
image
81. 在弹出的模拟器中,显示了一个拥有多个自定义字符样式的标签对象。点击此处的[停止]按钮,关闭模拟器。
image
image
image
image
image
86. 初始化另一个数组对象,然后获得某个元素在数组中的索引位置。
image
87. 初始化第三个数组对象,假如某个数组拥有多个相同的元素,通过该方法,可以获得最后一个对象所在的索引位置。
image
image
image
90. 初始化另一个数组,接着判断是否包含另一个数组中的所有元素。
image
image
92. 初始化另一个数组,该数组包含字符串和整数两种类型的元素。
image
93. 使用费希尔-耶茨-德斯特弗莱德算法,更改数组中的各位元素的位置。
image
image
image
image
97. 在控制台输出两个数组同时拥有的元素,以及两个数组所有元素的合集。
image
image
99. 然后获取在两个数组之中,互不拥有的元素。接着点击右侧的垂直滚动条,跳转到编辑区的顶部位置。
image
image
101. 接着点击左上角的[编译并运行]按钮,启动模拟器预览项目。
image
102. 模拟器启动之后,观察在底部的控制台,所输出的日志信息。点击此处的[停止]按钮,关闭模拟器。
image
103. 然后点击右侧的垂直滚动条,跳转到编辑区的底部位置。
image
image
image
image
107. 然后通过字典对象的拥有方法,检测在字典中,是否包含指定的键。
image
108. 初始化另一个字典对象,然后通过字典对象的随机方法,将字典中的键值随机分布。
image
image
image
image
112. 通过字典对象的相交方法,可以获得两个字典对象相同的键值。
image
113. 通过字典对象的联合方法,可以将两个字典对象联接在一起。
image
114. 接着在控制台输出联合字典对象,以及两个字典对象相异的键值。接着点击右侧的垂直滚动条,跳转到编辑区的顶部位置。
image
image
116. 接着点击左上角的[编译并运行]按钮,启动模拟器预览项目。
image
117. 模拟器启动之后,观察在底部的控制台,所输出的日志信息。点击此处的[停止]按钮,关闭模拟器。
image
118. 然后点击右侧的垂直滚动条,跳转到编辑区的底部位置。
image
image
image
121. 初始化两个字符串对象,分别表示日期的格式和日期的值。
image
image
image
image
125. 通过设置日期和时间的格式,可以将日期对象转换成指定格式的日期和时间。日期格式共有无、短、中、长、全等五种。
image
126. 使用字符串设置日期和时间的格式,然后将日期转换成指定格式的内容。
image
image
128. 然后依次计算两个日期之间相差的天数、小时数、分钟数和秒数。
image
129. 初始化另一个日期对象,然后计算该日期距离当前时间已经走过的长度。
image
130. 使用相同的方式,初始化另一个日期,并计算时间的流逝。
image
image
image
image
134. 另外通过时间类,可以创建延迟动作,在此创建一个延迟两秒,然后在主线程执行的动作。
image
135. 创建一个延迟两秒,然后在子线程执行的动作。接着点击右侧的垂直滚动条,跳转到编辑区的顶部位置。
image
image
137. 接着点击左上角的[编译并运行]按钮,启动模拟器预览项目。
image
138. 模拟器启动后,在控制台输出了相应的日志信息,并在两秒钟之后输出延迟的信息。最后点击此处的[停止]按钮,关闭模拟器,并结束本节课程。
image
本文整理自:《app开发中的神兵利器》,真正的[手把手]教学模式,用最快的速度上手iOS开发,苹果商店App Store免费下载:https://itunes.apple.com/cn/app/id1209739676,或扫描本页底部的二维码。课程配套素材下载地址:资料下载
apps8 2.png