swift笔记1

1、swift富文本的处理

swift有时候需要对UILabel复制富文本,例如个别几个文字变颜色等,按照OC方式直接通过rangof方法得到NSRange,但是swift需要做特殊处理下;

       
        let contentStr = "1.您可通过银行网点、网上银行、手机银行等渠道向包银消费金融对公账户转账进行还款。\n2.转账金额应与上述金额一致,如您进行了银行转账还款,请务必到\"包银消费金融\"微信公众号联系在线客服,否则还款无法入账,谢谢您的配合。";
       let subStr1 = "应与上述金额一致";
        let subStr2 = "\"包银消费金融\"微信公众号";

        let text = contentStr as NSString;
        let rang1: NSRange =  text.range(of: subStr1)
        let rang2: NSRange =  text.range(of: subStr2)

这样就可以得到NSRange了

2、swift的闭包使用

  //定义block数组
    var completionHandlers: [() -> Void] = []
    //定义闭包变量
    var parmarBlock = {()->Void in

    }
    //无参数无返回值闭包作为参数,并把闭包存成全局变量
    func testBlock1(complate:@escaping ()->Void){
        //将闭包添加到数组里
        completionHandlers.append (complate);
        complate();
        //给闭包变量赋值
        parmarBlock = complate;
    }
    //无参数有返回值闭包作为参数
    func testBlock2(complate:()->Int) -> Int {
        let num = complate();
        print(num)
        return num;
    }
    //无参数有返回值闭包作为参数
    func testBlock3(complate:()->Void) -> Int {
        complate();
        return 12;
    }
    //无参数有返回值闭包作为参数
    func testBlock4(complate:(_ str1:String)->Void) -> Int {
        complate("2");
        return 12;
    }

其中设置闭包为变量时候,不能通过这种方式

var parmarBlock:() -> Void?

不然会报错

你可能感兴趣的:(swift笔记1)