5.6 EZSwiftExtensions对整形/字符串/数组/字典/日期的强大扩展 [iOS开发中的神兵利器]



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. 接着点击左上角的[编译并运行]按钮,启动模拟器预览项目。




本文整理自:《app开发中的神兵利器》,真正的[手把手]教学模式,用最快的速度上手iOS开发,苹果商店App Store免费下载:https://itunes.apple.com/cn/app/id1209739676,或扫描本页底部的二维码。课程配套素材下载地址:资料下载

0