当你在使用Swift时会发现一些常用的函数不!见!了!

比如

String:    s.count()  s.contains()

Array: a.indexOfObeject(t:<T>)

我看网上有人说用extension Array的方法调用NSArray的indexOfObject来实现

extension Array {
func indexOfObject(object:AnyObject) -> Int? {
return (self as NSArray).indexOfObject(object)
}
}

这种方法是比较聪明,但是是不是有点背离了Swift的初衷呢? 既然是新语言不可能想不到这些用户用惯的方法呀~~

最近在碰到这种问题的时候看到最多的解决方案是global function,的确,Swift让这些方法更通用了~~ 所以以后不要只习惯与在实例后面加.来找方法了,记住一些global function是有必要的。

下面列出我碰到的global function,剩下的以后补充

find(<#domain: C#>, <#value: C.GeneratorType.Element#>)
countElements(<#x: T#>)
contains(<#seq: S#>, <#predicate: (S.GeneratorType.Element) -> L#>)

Swift global function(count indexOfObject contains...)的更多相关文章

  1. [Swift]LeetCode38. 报数 | Count and Say

    The count-and-say sequence is the sequence of integers with the first five terms as following: 1. 1 ...

  2. js 性能基准测试工具-告别可能、也许、大概这样更快更省

    平时写js经常遇到这样做是不是更快点?但又没有具体简单可测试的工具,最近也倒序看博客园司徒正美 js分类下的文章 [ps:去年灵光一闪,发现看博客园排名前100的博客.按照文章分类倒序看是学习最快的方 ...

  3. Swift Method Dispatching — a summary of my talk at Swift Warsaw

    Swift Method Dispatching When announcing Swift, Apple described it as being much faster than Objecti ...

  4. [Android开发学iOS系列] 语言篇: Swift vs Kotlin

    Swift vs Kotlin 这篇文章是想着帮助Android开发快速学习Swift编程语言用的. (因为这个文章的作者立场就是这样.) 我不想写一个非常长, 非常详尽的文章, 只是想写一个快速的版 ...

  5. [PHP源码阅读]count函数

    在PHP编程中,在遍历数组的时候经常需要先计算数组的长度作为循环结束的判断条件,而在PHP里面对数组的操作是很频繁的,因此count也算是一个常用函数,下面研究一下count函数的具体实现. 我在gi ...

  6. js Function()构造函数

    var scope="global";    function constructFunction(){        var scope="local";   ...

  7. swift类、继承、接口

    import Foundation class Hello{ var _name:String?="swift global" init(name:String){ //定义类中有 ...

  8. 江太公:javascript count(a)(b)(c)(d)运行过程思考

    昨天,我弟抛给我一个js的题,使用类似标题那样的调用方法计算a*b*c*d以致无穷的实现方法.思考了半天,终于理清了它的运行过程,记录于下: 函数体: <!DOCTYPE html> &l ...

  9. JS特殊函数(Function()构造函数、函数直接量)区别介绍

    函数定义 函数是由这样的方式进行声明的:关键字 function.函数名.一组参数,以及置于括号中的待执行代码. 函数的构造语法有这三种: 1.function functionName(arg0, ...

随机推荐

  1. struts2项目需要加入的jar包

    asm-3.3.jarasm-commons-3.3.jarasm-tree-3.3.jarcommons-fileupload-1.2.2.jarcommons-io-2.0.1.jarcommon ...

  2. Leetcode008. String to Integer (atoi)

    /* improvement on dealing with overflow accroding to this: * https://discuss.leetcode.com/topic/5745 ...

  3. pxecfg&kickstart生成脚本

    em tm 00:00:00:00:00:12 10.180.1.12 255.255.255.0 173.45.34.25 255.255.255.225 173.45.34.1 em tm 00: ...

  4. .Net性能优化时应该关注的数据

    解决性能问题的时候,我往往会让客户添加下面一些计数器进行性能收集. Process object下的所有计数器: Processor object下的所有计数器: System object下的所有计 ...

  5. 【MySQL】MySQL同步报错-> Last_IO_Error: Got fatal error 1236 from master when reading data from binary log

    这个报错网上搜索了一下,大部分是由于MySQL意外关闭或强制重启造成的binlog文件事务点读取异常造成的主从同步报错 Last_IO_Error: Got fatal error 1236 from ...

  6. DedeCMS中function='Html2Text(@me)的用法分析

    本文实例讲述了DedeCMS中function='Html2Text(@me)的用法.分享给大家供大家参考.具体分析如下: 在使用dedecms建站网站时候,需要用到过滤html代码,调出纯文本的代码 ...

  7. Linux动态库的查找路径

    前两天写了一个动态库,然后试图编译到程序里面去运行,结果发现编译的时候通过gcc的-L参数来指定路径仅仅能让编译通过,运行时还是会出问题的. 比如下面这个例子: main.c是主程序,sum.c中间含 ...

  8. 空间session失效的解决方法

    今天访问自己的网站的时候(by thinkphp),突然发现身份验证失效了,Session无法跨页,而且登陆的时候总是提示验证码错误(验证码也是通过Session传递的),才意识到可能是Session ...

  9. HTML5 <meta> 标签属性,所有meta用法都在这里了

    基本标签SEO 优化为移动设备添加 viewportWindows 8其他 禁止数字识自动别为电话号码不让android识别邮箱每 8 秒刷新一次页面移动端的头部标签和meta 基本标签 声明文档使用 ...

  10. Azkaban遇到的坑-installation Failed.Error chunking

    在使用azkaban做spark作业调度时,在上传zip包时报installation Failed.Error chunking错误,原来是于我们所编写的应用会上传到 MySQL 存储,过大的zip ...