Swift的74标准功能

Swift中共同拥有74个内建函数,可是在Swift官方文档(“The
Swift Programming Language
”)中仅仅记录了7中。剩下的67个都没有记录。

本文将列举Swift全部的内建函数。本文中提到的所谓的内建函数是指那些在Swift中不须要导入不论什么模块(如Foundation等)或者引用不论什么类就能够使用的函数。

abs(signedNumber): 返回给定的有符号数字的绝对值。

非常easy。可是没有在文档中记录。

  1. abs(-1) == 1
  2. abs(-42) == 42
  3. abs(42) == 42

contains(sequence, element): 假设给定的序列(如数组)包括特定的元素,则返回true。

  1. var languages = ["Swift", "Objective-C"]
  2. contains(languages, "Swift") == true
  3. contains(languages, "Java") == false
  4. contains([29, 85, 42, 96, 75], 42) == true

dropFirst(sequence): 返回一个去掉第一个元素的新序列(如数组)。

  1. var languages = ["Swift", "Objective-C"]
  2. var oldLanguages = dropFirst(languages)
  3. equal(oldLanguages, ["Objective-C"]) == true

dropLast(sequence): 返回一个的新序列(如数组),该序列去掉作为參数传递给函数的最后一个元素。

  1. var languages = ["Swift", "Objective-C"]
  2. var newLanguages = dropLast(languages)
  3. equal(newLanguages, ["Swift"]) == true

dump(object): 一个对象的内容转储到标准输出。

  1. var languages = ["Swift", "Objective-C"]
  2. dump(languages)
  3. // Prints:
  4. // ? 2 elements
  5. // - [0]: Swift
  6. // - [1]: Objective-C

equal(sequence1, sequence2): 假设序列1和序列2包括同样的元素,则返回true。

  1. var languages = ["Swift", "Objective-C"]
  2. equal(languages, ["Swift", "Objective-C"]) == true
  3. var oldLanguages = dropFirst(languages)
  4. equal(oldLanguages, ["Objective-C"]) == true

filter(sequence, includeElementClosure): 返回序列的一个元素,这个元素满足includeElementClosure所指定的条件。

  1. for i in filter(1...100, { $0 % 10 == 0 })
  2. {
  3. // 10, 20, 30, ...
  4. println(i)
  5. assert(contains([10, 20, 30, 40, 50, 60, 70, 80, 90, 100], i))
  6. }

find(sequence, element): 再给定的序列中返回一个指定的索引,假设在序列中没有找到这个元素就返回nil。

  1. var languages = ["Swift", "Objective-C"]
  2. find(languages, "Objective-C") == 1
  3. find(languages, "Java") == nil
  4. find([29, 85, 42, 96, 75], 42) == 2

indices(sequence): 在指定的序列中返回元素的索引(零索引)。

  1. equal(indices([29, 85, 42]), [0, 1, 2])
  2. for i in indices([29, 85, 42]) {
  3. // 0, 1, 2
  4. println(i)
  5. }

join(separator, sequence): 返回一个由给定的分隔符分离出来的序列的元素。

  1. join(":", ["A", "B", "C"]) == "A:B:C"
  2. var languages = ["Swift", "Objective-C"]
  3. join("/", languages) == "Swift/Objective-C"

map(sequence, transformClosure): 假设transformClosure适用于所给序列中全部的元素,则返回一个新序列。

  1. equal(map(1...3, { $0 * 5 }), [5, 10, 15])
  2. for i in map(1...10, { $0 * 10 }) {
  3. // 10, 20, 30, ...
  4. println(i)
  5. assert(contains([10, 20, 30, 40, 50, 60, 70, 80, 90, 100], i))
  6. }

max(comparable1, comparable2, etc.): 返回函数所给參数中的最大值。

  1. max(0, 1) == 1
  2. max(8, 2, 3) == 8

maxElement(sequence): 返回所给序列的同类元素中的最大元素。

  1. maxElement(1...10) == 10
  2. var languages = ["Swift", "Objective-C"]
  3. maxElement(languages) == "Swift"

minElements(sequence): 返回所给序列的同类元素中的最小元素。

  1. minElement(1...10) == 1
  2. var languages = ["Swift", "Objective-C"]
  3. minElement(languages) == "Objective-C"

reduce(sequence, initial, combineClosure): 从第一个初始值開始对其进行combineClosure操作,递归式地将序列中的元素合并为一个元素。

  1. var languages = ["Swift", "Objective-C"]
  2. reduce(languages, "", { $0 + $1 }) == "SwiftObjective-C"
  3. reduce([10, 20, 5], 1, { $0 * $1 }) == 1000

reverse(sequence): 返回所给序列的倒序。

  1. equal(reverse([1, 2, 3]), [3, 2, 1])
  2. for i in reverse([1, 2, 3]) {
  3. // 3, 2, 1
  4. println(i)
  5. }

startsWith(sequence1, sequence2):假设序列1和序列2的起始元素相等,则返回true。

  1. startsWith("foobar", "foo") == true
  2. startsWith(10..100, 10..15) == true
  3. var languages = ["Swift", "Objective-C"]
  4. startsWith(languages, ["Swift"]) == true

例如以下列表为Swift中的74个内建函数。上文所描写叙述的函数是我觉得在日常开发中比較实用处的。当然我可能遗漏了一些经常使用函数。欢迎大家在评论中讨论,而且请用一个简短的代码段来展示怎样使用该函数。

  1. abs(...)
  2. advance(...)
  3. alignof(...)
  4. alignofValue(...)
  5. assert(...)
  6. bridgeFromObjectiveC(...)
  7. bridgeFromObjectiveCUnconditional(...)
  8. bridgeToObjectiveC(...)
  9. bridgeToObjectiveCUnconditional(...)
  10. c_malloc_size(...)
  11. c_memcpy(...)
  12. c_putchar(...)
  13. contains(...)
  14. count(...)
  15. countElements(...)
  16. countLeadingZeros(...)
  17. debugPrint(...)
  18. debugPrintln(...)
  19. distance(...)
  20. dropFirst(...)
  21. dropLast(...)
  22. dump(...)
  23. encodeBitsAsWords(...)
  24. enumerate(...)
  25. equal(...)
  26. filter(...)
  27. find(...)
  28. getBridgedObjectiveCType(...)
  29. getVaList(...)
  30. indices(...)
  31. insertionSort(...)
  32. isBridgedToObjectiveC(...)
  33. isBridgedVerbatimToObjectiveC(...)
  34. isUniquelyReferenced(...)
  35. join(...)
  36. lexicographicalCompare(...)
  37. map(...)
  38. max(...)
  39. maxElement(...)
  40. min(...)
  41. minElement(...)
  42. numericCast(...)
  43. partition(...)
  44. posix_read(...)
  45. posix_write(...)
  46. print(...)
  47. println(...)
  48. quickSort(...)
  49. reduce(...)
  50. reflect(...)
  51. reinterpretCast(...)
  52. reverse(...)
  53. roundUpToAlignment(...)
  54. sizeof(...)
  55. sizeofValue(...)
  56. sort(...)
  57. split(...)
  58. startsWith(...)
  59. strideof(...)
  60. strideofValue(...)
  61. swap(...)
  62. swift_MagicMirrorData_summaryImpl(...)
  63. swift_bufferAllocate(...)
  64. swift_keepAlive(...)
  65. toString(...)
  66. transcode(...)
  67. underestimateCount(...)
  68. unsafeReflect(...)
  69. withExtendedLifetime(...)
  70. withObjectAtPlusZero(...)
  71. withUnsafePointer(...)
  72. withUnsafePointerToObject(...)
  73. withUnsafePointers(...)
  74. withVaList(...)

原文:http://www.cocoachina.com/applenews/devnews/2014/0619/8885.html

Standard
functions in Swift

时间: 2024-07-30 13:50:56

Swift的74标准功能的相关文章

Swift的74个标准函数

Swift中共有74个内建函数,但是在Swift官方文档("The Swift Programming Language")中只记录了7中.剩下的67个都没有记录. 本文将列举Swift所有的内建函数.本文中提到的所谓的内建函数是指那些在Swift中不需要导入任何模块(如Foundation等)或者引用任何类就可以使用的函数. abs(signedNumber): 返回给定的有符号数字的绝对值.很简单,但是没有在文档中记录. abs(-1) == 1 abs(-42) == 42 ab

Salesforce的SplashPage(启动页)-一天一个标准功能系列

最近有小盆友考验我,说客户想点进Tab的时候先进入一个Guide页面,然后点击继续进入list页面,点击Don't show again下次不再显示此页面,直接进入List页面.问我该怎么做. 我反问,"你想怎么做?""首先呢,建一个Tab""废话.哪种Tab.""当然是Visualforce Tabs.""然后呢.""然后我创建一个VF,并且使用标准标签和样式.""嗯,为了让

iOS开发项目实战——Swift实现ScrollView滚动条功能

手机作为一个小屏设备,需要显示的信息往往无法在一个屏幕上显示,此时就需要使用到滚动条,当然除了像TableView这样可以自带滚动功能的.如果一个界面上View较多,那就必须要使用到ScrollView了.现在我们将会使用Swift在iOS上实现滚动效果.具体实现如下: (1)创建一个新的iOS项目,语言选择Swift,并在Main.storyboard中拖入一个ScrollView控件.然后在ScrollView中拖入几张照片,等下可以使用滚动功能查看照片,界面如下: . (2)把Scroll

Swift - 短信发送功能的实现

使用MessageUI.framework框架可以实现短信发送功能,步骤如下: (1)首先判断设备是否有发送短信功能 (2)如果设备允许发送短信,创建一个MFMessageComposeViewController视图控制器,并对其设置短信内容和收件人号码列表. (3)短信发送后,会执行回调代理方法,可以获取发送结果(成功,失败或取消) 代码如下: import UIKit import MessageUI class ViewController: UIViewController ,UINa

Form_通过FND_FNDFLUPL标准功能上传CSV控件(案例)

2014-06-08 BaoXinjian 一.总结 1. 上传资料 (1).通过调用function<FND_FNDFLUPL>,打开上传文件页面: (2).从表fnd_lob_access和fnd_lobs中取出文件名放在form画面上: 2. 对dbms_lob中的二进制文件进行处理 (1).通过dbms_lob.converttoclob将二进制文件转换成字符文件: (2).通过dbms_lob.instr和dbms_lob.substr在字符文件获取字符串记录: 3. 对获取资料放入

swift - 表格的编辑功能(添加、删除)

表格(tableview)的确是一个很好用的控件,现在来实现一个编辑功能的实现,包含添加和删除,删除包括长按删除和左滑删除 效果图如下: 具体代码如下: 1.创建表格(这个表格有2个区,有区头和区尾),以及长按手势的方法绑定 class TenthViewController: UIViewController,UITableViewDelegate,UITableViewDataSource,UIGestureRecognizerDelegate { var tableView:UITable

Form_如何通过标准功能查找数据源(概念)

一. 理论概念 常用的用于追寻数据的做法 1. 查看->历史记录 2. 查看->诊断->检查&属性 3. Last Record 4. Debug工具 5. 使用Trace 6. 查看Report源代码 7. 查看Form源代码 8. 猜测+验证 二. 具体分析 1. 查看->历史记录 2. 查看->诊断->检查&属性 Thanks and Regards

通过ABAP的标准功能,寻找源代码中的字符串

程序名称: 1 RPR_ABAP_SOURCE_SCAN 或者 2 RS_ABAP_SOURCE_SCAN 或者 3 *ABAP_SOURCE_SCAN 查找 作用:通过这个标准程序,可以在系统的源代码中进行字符串的查找!

3.19 外协加工(通过BOM体现加工物料总成本,非系统标准工序外协功能)

3.19.1   业务方案描述 对每一个外协加工产品定义对应的加工费项目,并将发外加工物料及加工费项目一起挂在加工后产品的BOM下(供应类型为装配拉式). 加工后产品的成本按外协BOM卷积,总成本包含加工前物料成本和加工费: 设置外协库位,按不同外协供应商定义不同的货位存放发外物料: 根据外协业务需求,由采购人员下达外协加工物料(加工费项目)的采购订单.根据该采购订单自动生成对应的外协加工任务(开发实现). 外协供应商根据加工费项目的采购订单,按照外协加工任务的配额进行加工前物料的领用,物资仓管