swif4基础学习(7)-其它

本文介绍了Swift语言中的逃逸闭包概念及其使用场景,并解释了不同访问控制级别的含义及适用范围,帮助开发者更好地理解Swift的内存管理和权限控制。
import UIKit

var str = "Hello, playground"

//逃逸闭包
//闭包做为函数的参数传递时,可能会在函数体结束后被调用,这个闭包逃离了这个函数体的作用域,那么我们就说这个闭包是逃逸型的闭包
func testClosure(closure:@escaping ()->Void){
    
    print("test")
    
    //这个闭包的在主线程中调用
    DispatchQueue.main.async {
        closure()
    }
   
}

testClosure {
    print("111")
}

//defer 延迟执行

func TestFuncDefer()->Int{
    //执行顺序是倒叙
    print("111")
    defer {
        sleeps()
    }
    print("333")
    return 3
}

func sleeps(){
    print("222")
}

TestFuncDefer()

//使用案例
//
let _testLock = NSLock.init()
var _testCount:Int = 0

var testCount:Int{
    set{
       _testLock.lock()
        defer {
             _testLock.unlock()
        }
        _testCount = newValue
       
    }
    get{
        _testLock.lock()
        defer {
             _testLock.unlock()
        }
        return _testCount
    }
}



关键字

 1. private < fileprive < internal < public < open 访问控制权限
 2. private 访问级别,所修饰的属性和方法 只能在当前类中访问
 3.fileprive 访问级别,.............. .................当前的swift 源文件荔可以访问
 4.internal  访问级别...................在源代码所在的整个模块都可以访问
    4.1如果是框架或者库代码,则在整个框架内都可以访问,框架由外部代码所引用时,则不可以访问
 5. public         可以被任何人访问,但其他模块中不可以被override和继承,在当前模块是可以的
 6. open  什么都行
 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值