1. 本节课将为您演示对整型、字符串、数组、字典和日期等类型的强大扩展。首先在左侧的项目导航区,打开视图控制器的代码文件。
2. 现在开始编写代码,实现对基本类型的扩展。
3. 首先在当前的类文件中,引入已经安装的第三方类库。
4. 接着添加一个方法,通过扩展方法获得设备的各种属性信息。
5. 依次获取应用程序的版本号、编译号等信息,并在控制台输出这些数据。
6. 检测设备是否处于竖立状态。
7. 检测设备是否处于横放状态。
8. 在控制台依次输出屏幕的宽度和高度信息。
9. 接着输出状态栏的高度,以及屏幕不包含状态栏的高度。
10. 第三方库还提供了一个快速下载网络图片的方法。
11. 网络图片下载完成之后,跳转到主线程,并显示下载后的图片。
12. 创建一个图像视图,用来显示下载的网络图片,并将图像视图添加到根视图。
13. 第三方类库对多线程提供了很好的支持,使开发者可以很方便地创建一个新的线程。
14. 通过获取JSON的方法,可以访问服务器的接口,并处理从服务器返回的数据。
15. 处理访问服务器接口失败的情况。接着点击右侧的垂直滚动条,跳转到编辑区的顶部位置。
16. 然后在视图加载完成的方法中,调用您刚刚创建的自定义方法。
17. 接着点击左上角的[编译并运行]按钮,启动模拟器预览项目。
18. 当模拟器启动之后,在屏幕上显示了从网络下载的图片。并在控制台显示了由自定义方法输出的日志信息。点击此处的[停止]按钮,关闭模拟器。
19. 接着点击右侧的垂直滚动条,跳转到编辑区的底部位置。
20. 现在开始添加另一个方法。
21. 该方法用来演示对视图控制器,和其它基本类型的扩展。
22. 初始化一个视图控制器对象。
23. 在控制台输出视图控制器对象的类名。
24. 同样可以获得类的名称字符串,并在控制台输出。
25. 初始化一个布尔变量,然后通过布尔类型的扩展方法,反转布尔变量的值。
26. 接着初始化一个整型常量。
27. 通过整形的扩展属性,可以检测整形数据是否为偶数或奇数。
28. 接着判断该数字是正数还是负数。
29. 获得并输出某个整数的数字个数。
30. 通过数字类型的范围属性,可以快速创建一个循环。
31. 初始化一个无标识符的整数,然后将其转换成一个整数。
32. 类型的转换变得更加方便,这里依次将整数转换成双精度、浮点类型、字符串和无符号整型。
33. 修改此处的方法名称。
34. 接着点击左上角的[编译并运行]按钮,启动模拟器预览项目。
35. 模拟器启动之后,观察在底部的控制台所输出的日志信息。点击此处的[停止]按钮,关闭模拟器。
36. 点击右侧的垂直滚动条,跳转到编辑区的底部位置。
37. 接着添加另一个方法。
38. 我们将在这个方法中,演示和字符串相关的扩展方法。
39. 初始化一个内容为数字的字符串。
40. 接着将字符串转换成双精度的类型和整型数字,并在控制台输出结果。
41. 删除字符串中的空格和换行符,并在控制台输出。
42. 初始化另一个字符串常量。
43. 输出在字符串中的指定位数的字符。
44. 输出在字符串中的指定范围的字符。
45. 获得某个字符串在另一个字符串中的位置。
46. 初始化另一个字符串常量。
47. 获得并输出字符串的长度。
48. 获得并输出首字母大写后的字符串。
49. 初始化另一个字符串常量。
50. 接着依次检测,在字符串中是否包含三个字符串。
51. 可以通过设置相关的选项,对是否包含字符串进行检测。这里设置在检测字符时,考虑大小写的不同。
52. 接着创建两个字符串常量。
53. 然后检测字符串是否为空。
54. 初始化另外两个字符串常量。
55. 接着检测字符串是否为邮箱格式。
56. 初始化另一个字符串常量。
57. 通过抽取网址列表方法,可以抽取字符串中的所有网址。
58. 初始化另一个字符串常量。
59. 然后通过扩展方法,将字符串转换成整型、双精度和浮点类型的数字。
60. 接着创建两个字符串常量。
61. 然后通过类型转换方法,将字符串转换成布尔类型。
62. 初始化两个字符串常量。
63. 判断字符串是否完全由数字组成。
64. 初始化一个较长的字符串。
65. 然后通过计数方法,统计在字符串中,总共包含了多少个指定的字符串。点击右侧的垂直滚动条,跳转到编辑区的顶部位置。
66. 接着修改此处的方法名称。
67. 然后点击左上角的[编译并运行]按钮,启动模拟器预览项目。
68. 模拟器启动之后,观察在底部的控制台,所输出的日志信息。点击此处的[停止]按钮,关闭模拟器。
69. 点击右侧的垂直滚动条,跳转到编辑区的底部位置。
70. 接着添加另一个方法。
71. 我们将在这个方法中,演示和可变字符串相关的扩展方法。
72. 初始化一个可变字符串常量。
73. 可变字符串拥有多个扩展方法,这里依次给字符串添加下划线、加粗、斜体,并设置颜色为橙色。同时设置进行自定义样式的字符范围。
74. 给可变字符串添加中心线,同时设置进行自定义样式的字符范围。
75. 接着将两个可变字符串进行拼接。
76. 初始化一个标签对象,并设置标签的显示区域。
77. 设置标签对象可以显示多行文字。
78. 将可变字符串赋予标签对象,然后再将标签对象,添加到根视图。接着点击右侧的垂直滚动条,跳转到编辑区的顶部位置。
79. 修改此处的方法名称。
80. 接着点击左上角的[编译并运行]按钮,启动模拟器预览项目。
81. 在弹出的模拟器中,显示了一个拥有多个自定义字符样式的标签对象。点击此处的[停止]按钮,关闭模拟器。
82. 然后点击右侧的垂直滚动条,跳转到编辑区的底部位置。
83. 接着添加另一个方法。
84. 我们将在这个方法中,演示和数组相关的扩展方法。
85. 初始化一个数组对象,然后随机获得数组中的一个元素。
86. 初始化另一个数组对象,然后获得某个元素在数组中的索引位置。
87. 初始化第三个数组对象,假如某个数组拥有多个相同的元素,通过该方法,可以获得最后一个对象所在的索引位置。
88. 接着初始化第四个数组,然后删除数组中的指定元素。
89. 初始化一个数组,接着判断是否包含某个实例。
90. 初始化另一个数组,接着判断是否包含另一个数组中的所有元素。
91. 判断某个数组,是否包含另一个数组中的元素。
92. 初始化另一个数组,该数组包含字符串和整数两种类型的元素。
93. 使用费希尔-耶茨-德斯特弗莱德算法,更改数组中的各位元素的位置。
94. 初始化另一个数组。
95. 然后将一个新的元素,插入到数组中的首位。
96. 继续初始化另一个数组常量。
97. 在控制台输出两个数组同时拥有的元素,以及两个数组所有元素的合集。
98. 初始化一个数组常量。
99. 然后获取在两个数组之中,互不拥有的元素。接着点击右侧的垂直滚动条,跳转到编辑区的顶部位置。
100. 修改此处的方法名称。
101. 接着点击左上角的[编译并运行]按钮,启动模拟器预览项目。
102. 模拟器启动之后,观察在底部的控制台,所输出的日志信息。点击此处的[停止]按钮,关闭模拟器。
103. 然后点击右侧的垂直滚动条,跳转到编辑区的底部位置。
104. 接着添加另一个方法。
105. 我们将在这个方法中,演示和字典相关的扩展方法。
106. 初始化一个字典对象。
107. 然后通过字典对象的拥有方法,检测在字典中,是否包含指定的键。
108. 初始化另一个字典对象,然后通过字典对象的随机方法,将字典中的键值随机分布。
109. 接着初始化另外两个字典对象。
110. 可以通过字典对象的连接方法,将两个字典对象拼接。
111. 再次初始化另外两个字典对象。
112. 通过字典对象的相交方法,可以获得两个字典对象相同的键值。
113. 通过字典对象的联合方法,可以将两个字典对象联接在一起。
114. 接着在控制台输出联合字典对象,以及两个字典对象相异的键值。接着点击右侧的垂直滚动条,跳转到编辑区的顶部位置。
115. 修改此处的方法名称。
116. 接着点击左上角的[编译并运行]按钮,启动模拟器预览项目。
117. 模拟器启动之后,观察在底部的控制台,所输出的日志信息。点击此处的[停止]按钮,关闭模拟器。
118. 然后点击右侧的垂直滚动条,跳转到编辑区的底部位置。
119. 接着添加另一个方法。
120. 我们将在这个方法中,演示和日期相关的扩展方法。
121. 初始化两个字符串对象,分别表示日期的格式和日期的值。
122. 接着在控制台输出格式化后的日期。
123. 初始化一个日期对象。
124. 然后输出日期对象转换成字符串后的内容。
125. 通过设置日期和时间的格式,可以将日期对象转换成指定格式的日期和时间。日期格式共有无、短、中、长、全等五种。
126. 使用字符串设置日期和时间的格式,然后将日期转换成指定格式的内容。
127. 初始化另外两个日期对象。
128. 然后依次计算两个日期之间相差的天数、小时数、分钟数和秒数。
129. 初始化另一个日期对象,然后计算该日期距离当前时间已经走过的长度。
130. 使用相同的方式,初始化另一个日期,并计算时间的流逝。
131. 最后计算第三个日期的时间流逝。
132. 初始化两个日期对象。
133. 使用常见的数学符号,可以快速比较两个日期的大小。
134. 另外通过时间类,可以创建延迟动作,在此创建一个延迟两秒,然后在主线程执行的动作。
135. 创建一个延迟两秒,然后在子线程执行的动作。接着点击右侧的垂直滚动条,跳转到编辑区的顶部位置。
136. 修改此处的方法名称。
137. 接着点击左上角的[编译并运行]按钮,启动模拟器预览项目。
138. 模拟器启动后,在控制台输出了相应的日志信息,并在两秒钟之后输出延迟的信息。最后点击此处的[停止]按钮,关闭模拟器,并结束本节课程。
本文整理自:《app开发中的神兵利器》,真正的[手把手]教学模式,用最快的速度上手iOS开发,苹果商店App Store免费下载:https://itunes.apple.com/cn/app/id1209739676,或扫描本页底部的二维码。课程配套素材下载地址:资料下载