swif4基础学习(7)-其它

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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  什么都行
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值