Swift global function(count indexOfObject contains...)

当你在使用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...)

时间: 2024-10-13 12:26:27

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

ue4 material custom node - global function and method

在ue4 material中定义全局函数 1. 背景 原文unreal-engine-4-custom-shaders-tutorial 中,提出了一种在material生成的hlsl文件中定义全局函数的方法,记录到这里以备复习. ue4 材质中的custom节点是用来使用hlsl代码的地方.一般来说都是直接编辑逻辑,最后添加return返回.类似这样: 1 float4 color = {1,0,0,1}; 2 return color; 使用ue4材质 menu window->hlsl s

Mac之button的使用Show+NSMenu+next+to+NSButton+in+Swift+OSX

http://www.itdaan.com/keywords/Show+NSMenu+next+to+NSButton+in+Swift+OSX.html http://www.itdaan.com/keywords/Swift+Mac+OSX+NSButton+title+color.html 1在SwiftOSX中显示NSButton旁边的NSMenu - ShowNSMenunext to NSButton in SwiftOSX 2016年04月11 - How can i show a

C++11学习笔记之三lamda表达式,std::function, std::bind

//lamda //first lamda [] {}; // second lamda []() //or no need () when paramater is null { std::cout << "second" << std::endl; }();// last add(), express will call this lamda func // 3 with return type auto kkk = []() { return 1; }()

Swift项目兼容Objective-C问题汇总

本文是投稿文章,作者:一叶(博客)欢迎将原创文章或者译文投给我们,投稿方式:[email protected]或者在首页点击“投稿爆料” 一.解决问题 Swift 项目需要使用封装好的Objective-c组件.第三方类库,苹果提供的解决方案能够处理日常大部分需求,但还不能称之为完美,混编过程中会遇到很多问 题.本文将Swift兼容Objective-c的问题汇总,以帮助大家更好的使用Swift,内容列表如下: 1. Swift调用Objective-c代码 2. Objective-c调用Sw

C++11 function

#include <iostream> #include <functional> #include <vector> using namespace std; // c type global function int c_func(int a, int b) { return a + b; } //function object class functor { public: int operator() (int a, int b) { return a + b;

swift类、继承、接口

import Foundation class Hello{ var _name:String?="swift global" init(name:String){ //定义类中有参数的构造方法 _name=name; println("Hello , \(name)"); } init(){ //定义类中无参数的构造方法 println("this is init method"); } func sayHello(){ //定义成员方法 pr

[Swift]Day07:柯里化

Swift 中的柯里化 新手上路的学习笔记,如有错误还望指出,不胜感激. 上集:理论预备 在学习柯里化的过程中接触到了三个有趣的概念,在此和各位分享一下. 偏函数 (Partial Function) 偏函数是只对函数定义域的一个子集进行定义的函数,是一个数学概念. 偏函数定义如下: 从输入值集合 X 到可能的输出值集合 Y 的函数 f (记作f:X→Y) 是 X 和 Y 的关系,若 f 满足多个输入可以映射到一个输出,但一个输入不能映射到多个输出,则为偏函数. 换句话说,定义域 X 中可能存在

javascript Global对象

Global对象 Global全局对象 ECMAScript中最特别的对象,因为从那个角度上看,这个对象都是不存在的. isNaN().isFinite().parseInt()以及parseFloat(),实际上全部都是Global对象的方法.除此之外Global还包含其他一些方法. 1.URI编码方法 encodeURI()和encodeURIComponent()方法可以对URL进行编码,以便发送给浏览器. encodeURI()方法 能够将URL中空格字符编码化 encodeURICom

Function Scope

JavaScript’s function scope means that all variables declared within a function are visi-ble throughout the body of the function. Curiously, this means that variables are evenvisible before they are declared. This feature of JavaScript is informally