美文网首页
字典元组和指纹解锁代码

字典元组和指纹解锁代码

作者: 写啥呢 | 来源:发表于2016-08-08 19:36 被阅读0次

    字典

    //定义:
    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)
    

    相关文章

      网友评论

          本文标题:字典元组和指纹解锁代码

          本文链接:https://www.haomeiwen.com/subject/kdprsttx.html