字典元组和指纹解锁代码

字典

//定义:
var dict = ["abacus" : "算盘","abnormal" : "异常","hello" : "你好"]
//print(dict["abnormal"])//可空类型
//print(dict["abnormal"]!)//string 类型
//
//dict["shit"] = "狗屎"
//print(dict["shit"]!)
//print(dict)
//
////修改元素
//dict["shit"] =  "牛粪"
//
////删除元素
////第一种写法
//dict.removeValueForKey("hello")
////第二种写法
////dict["hello"] = nil
//print(dict)
//
////遍历字典
//
////遍历字典中的所有值
//for value in dict.values{
//    print(value)
//}
//
//for key in dict.keys{
//    print("\(key)-->\(dict[key])")
//}
//
////通过元组获取字典的键值
//for (key ,value) in dict {
//    print("\(key)--> \(value)")
//}
//
//
////  哈希码(hash code)/散列码
////  MD5 / SHA-1//最经典的2个hash算法
////创建集合:可以去除重复元素
//var a: Set<Int> = [1,2,3,1,2,5]
//print(a)
//
//a.insert(100)
//a.remove(2)
////集合的交集,差集,并集
//var b: Set<Int> = [3,5,7,9,11]
//
//print(a.intersect(b))   //交集
//print(a.union(b))       //并集
//print(a.subtract(b))    //差集 a里面有b里面没有的
////判断是不是它的子集
//print(b.isStrictSubsetOf(a))
//
//
////集合的遍历
//for x in a {
//    print(x,terminator:" ")
//}

////创建数组
//let b = [1,2,3,1,2,5]
//print(b)


日期,系统时间代码

et date = NSDate()//可以取到现在的系统时间
//    let cal = NSCalendar.currentCalendar()//拿到现在的日历
//    let hour = cal.component(.Hour, fromDate: date)

指纹解锁代码,新概念闭包的第一次应用

 override func viewDidLoad() {
        super.viewDidLoad()
        let errpoint = NSErrorPointer()
        let ctx = LAContext()
        //evalutepolicy方法的第三个参数是一个函数
//        该函数有两个参数没有返回值
//        给改参数传参时可以在花括中写一个匿名函数传进去
//        该匿名函数通常也称之为闭包(closure)
        if ctx.canEvaluatePolicy(.DeviceOwnerAuthenticationWithBiometrics, error: errpoint) {
            ctx.evaluatePolicy(.DeviceOwnerAuthenticationWithBiometrics, localizedReason: "请输入指纹进行支付", reply:
                { (isOk, err) -> Void in
                    if isOk {
                        print("支付成功")
                    }
                    else {
                        print("指纹验证失败!请输入密码")
                    }
            })
        }
        else    {
            print("设备不支持指纹识别")
        }
        
        
    }

函数的几种写法

//函数的参数名
//函数名(外表参数名 内部参数名: 类型,外部参数名 内部参数名: 类型)
//可以使用_来作为外部参数名表示省略外部参数名
//func myMin(a x:Int, y:Int) -> Int {
//    return x < y ? x : y
//}
////函数调用时要写函数的外部参数名
//print(myMin(a: 3,y:  5))



//  定义函数
//  func 函数名(参数列表) ->  返回类型{函数的执行体}
//  调用swift函数时,在默认情况下从第二个参数开始需要写函数名
//  如果调用函数的时候没有给该函数参数可以给它赋个默认值
//func sayHello(personName: String,alreadyGreeted: Bool = false) -> String {
//    if alreadyGreeted {
//        return "怎么又是你," + personName + "!"
//    }
//    else {
//        return "你好," + personName + "!"
//    }
//
//}
//
////  调用函数
////  函数名(参数值)
//print(sayHello("王大锤"))
//let str = sayHello("王大锤",alreadyGreeted: true)
//print(str)



//函数的可变参数列表(参数的个数是任意多个)
//func  sum(nums: Int...) ->Int {
//    var total = 0
//    for num in nums {
//        total += num
//    }
//    return total
//}
//
//print(sum())
//print(sum(999))
//print(sum(1,2,3))
//

//可以使用元组(tuple)让函数一次返回多条数据
//func minMax(array: [Int]) -> (min: Int, max: Int)? {
//    if array.isEmpty{
//        return nil
//    }
//    var currentMin = array[0]
//    var currentMax = array[0]
//    
//        
//        for value in array[1..<array.count] {
//            if value < currentMin {
//                currentMin = value
//            }
//            else if value > currentMax {
//                currentMax = value
//            }
//        }
//    
//    
//    return (currentMin, currentMax)
//}
//
//if let b = minMax([1,3,5,7,9,11,13,15,17]){ //处理可空类型的最好方法 若为空 函数就不会执行
//    print(b.min)    //  print(b.0)
//    print(b.max)    //  print(b.1)
//}
//


//func swap(inout a: Int, inout _ b: Int) {
////    (a,b) = (b,a)
//    let temp = x
//    x = y
//    y = temp
//}
//
//var x = 5 ,y = 10
////函数调用的传参都是传值
//swap(&x,&y)
//print("x = \(x)")
//print("y = \(y)")



func swap(var x: Int, var _ y: Int) {
    
    (x,y) = (y,x)
}

var x = 5 ,y = 10
//函数调用的传参都是传值
swap(x,y)

print("x = \(x)")
print("y = \(y)")


//inout - 输入输出参数(不仅将数据传入函数还要从函数中取出数据)
//func createX(inout x: Int ) {
//    x = 1000
//}
//
//var x = 1
//createX(&x)
//print(x)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,711评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,079评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,194评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,089评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,197评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,306评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,338评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,119评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,541评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,846评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,014评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,694评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,322评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,026评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,257评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,863评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,895评论 2 351

推荐阅读更多精彩内容