码迷,mamicode.com
首页 > 编程语言 > 详细

swift中的闭包

时间:2015-07-19 18:03:22      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:

//

//  main.swift

//  闭包

//

//  Created by 朱敏 on 15/6/15.

//  Copyright (c) 2015 helinyu. All rights reserved.

//


import Foundation



let names = ["Lily","Anna","Duty","Poly","Gray"]


func compareName(s1 :String , s2:String) ->Bool {return s1 < s2}


//var sortedArray = names.sorted(compareName)

//println("排列之后的变化:\(sortedArray)");


var sortedArray = names.sorted({(s1:String, s2:String) -> Bool in return s1 < s2})


println("排列之后的变化:\(sortedArray)");



let a = 5

//let a = 4

println(a)



//下面的函数实现了两个字符串变量的相加

func sayHello(s1 :String ,s2:String){

    var str = s1 + " " +  s2

    println("the values is :\(str)")

}

sayHello("nihao", "helinyu")





/*


1:func 是函数关键字

2:Say是函数名,表示函数的地址

3:Say函数 参数是整形 返回值为布尔类型

*/


func Say(num:Int)->Bool{

    

    return num > 10

    

}

var By:(Int)->Bool = Say


/*

1Say是函数名的地址,并且函数类型,参数为整形,返回值布尔类型

2:(Int)->Bool 表示 函数类型,参数为整形 ,返回值为布尔类型。

即:By是函数变量(参数为整形,返回值为布尔类型) 指向函数名(Say)

*/

var b = By(10) //by(12)直接调用函数

println(b)



/*

函数Getlist说明

参数:

1:第一个参数 整形集合变量

2:第二参数,函数类型变量 参数为整形返回值布尔类型

返回值

整形集合

*/

//func GetList(arr:Int[] , pre:(Int)->Bool) ->Int[]{

//    //定义一个空的可变整形集合

//    var tempArr = Int[]()

//    

//    for temp in arr {

//        if pre(temp){

//            tempArr += temp;

//        }

//    }

//    return tempArr;

//}

//

///*

//调用Getlist 说明

//第一个参数 整形数组 [1,2,3,4]

//第二个参数  闭包 来指向给 函数类型

//{(s) in return s>2} 闭包类型说明,参数为整形,返回值为布尔类型

//*/

//let arr=GetList([1,2,3,4],{(s:Int) in return s>2})

//println(arr)



//类中实例属性没有初始化的时候,是编译不过去的。

//解决:1)定义变量的时候做好初始化 2)使用初始化方法进行初始化



class Rect

{

//    var width:Int = 0;

//    var height:Int = 0;

    //或者

//    var width:Int;

//    var height:Int;

//    

//    //初始化方法

//    init()

//    {

//        width = 0;

//        height = 0;

//    }

    //3)又或者

    var width:Int;

    var height:Int;

    

    init(w:Int, h:Int)

    {

        width = w;

        height = h;

    }


    

    

    func setSize(w:Int, height:Int)

    {

        width = w;

        self.height = height;

    }

    

//    func getArea() -> Int{

//        return self.width * height;

//    }

}


//var rect = Rect();

//rect.setSize(10, height: 20);

var rect = Rect(w:10,h:20)

println("求得的面积是:\(rect)")

println("求得的面积是:\(rect)")




版权声明:本文为博主原创文章,未经博主允许不得转载。

swift中的闭包

标签:

原文地址:http://blog.csdn.net/u012496940/article/details/46956227

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!