第
Swift?列举内存管理与异常处理具体代码
clzH.insG.foo()//funcfooinClassG
//此时clzH的实例被clzG的insH无主引用,会被销毁,clzG和clzH实例都能被释放
clzH=nil//deinitClassH\ndeinitClassG
6.Swift闭包产生的循环引用
//Swift5闭包产生的循环引用
classClassJ{
varfield=fieldj
lazyvarclosure:()-Void={
print(self.field)
deinit{
print(deinitClassJ)
varobjJ:ClassJ=ClassJ()
objJ.closure()
//因为闭包引用了类的成员属性,导致实例无法释放,进而导致闭包无法释放,产生循环引用
objJ=nil//此处并没有打印deinit中信息
7.Swift解决闭包产生的循环引用
//Swift5解决闭包产生的循环引用
classClassK{
varfield=fieldk
lazyvarclosure:()-Void={
//使用捕获列表对self进行无主引用的转换
[unownedself]()-Voidin
print(self.field)
deinit{
print(deinitClassK)
varobjK:ClassK=ClassK()
objK.closure()
objK=nil//deinitClassK
8.Swift自定义异常类型
//Swift5自定义异常类型
enumCustomError:Error{
caseErrorOne
caseErrorTwo
caseErrorThree
print(error)
//throwCustomError.ErrorOne//抛出的异常未捕获会终止,不会打印complete
print(complete)
9.Swiftdo-catch捕获异常,try执行会抛异常的函数
//Swift5使用do-catch捕获异常,try执行会抛异常的函数
//通过函数抛出异常
funcfuncError()throws-String{
throwCustomError.ErrorTwo
//使用do-catch捕获异常
//使用try执行可能会抛出异常的函数
tryfuncError()
}catchCustomError.ErrorOne{
print(ErrorOne)
}catchCustomError.ErrorTwo{
print(ErrorTwo)
}catchCustomError.ErrorThree{
print(ErrorThree)
//使用try将函数执行的结果映射为Optional类型
letresult=tryfuncError()
if(result==nil){
print(execfailed)
//try!强行终止异常的传递,如果发生异常,则程序中断
//try!funcError()
10.Swift函数延时执行结构
//Swift5函数延时执行结构:避免在抛异常的时候,保证某些必须的代码块要执行,如释放资源
funclazyFunc()throws-Void{
defer{
//函数结束时会得到执行
print(lazypartoffunc)
print(execlazyFunc)
throwCustomError.ErrorThree
//execlazyFunc
//lazypartoffunc
trylazyFunc()
GitHub源码:ReferenceError.playground
您可能关注的文档
- 2025经典借款合同范本(3篇).docx
- 大学生演讲稿600字(31篇).docx
- CSS 文本修饰属性详解:text.docx
- 教你如何判断Java代码中异步操作是否完成.docx
- vue3锚点定位两种实现方式示例.docx
- 2025年法制演讲稿范文800字(29篇).docx
- 比赛领导发言稿(7篇范文).docx
- 年度部门工作总结模板(11篇).docx
- 写抵押的借款合同中(13篇).docx
- 车辆买卖合同(28篇).docx
- 2026年中国窗饰产品市场全景调查与市场供需预测报告.docx
- 2026年中国船舶水下清洗行业深度研究报告:市场需求预测、进入壁垒及投资风险.docx
- 2026年中国船用绞车行业运行态势及十五五盈利前景预测报告.docx
- 2026年中国橱柜行业深度调研报告.docx
- 2026年中国船用绞车市场深度调研及投资前景战略分析报告.docx
- 2026年中国船用配套设备市场发展策略及投资潜力可行性预测报告.docx
- 2026年中国储能材料行业运营态势与投资前景预测分析报告.docx
- 2026年中国储氢材料行业运营现状及发展规划分析报告.docx
- 2026年中国传真机市场深度研究及投资前景咨询报告.docx
- 2026年中国储能变流器(PCS)产业深度评估与发展前景趋势分析研究报告.docx
最近下载
- (高清版)DB13∕T 5071-2019 食品接触用涂料及涂层中1,4-丁二醇含量的测定气相色谱-质谱法.pdf VIP
- 《水利枢纽库区抬田程技术规范》.doc VIP
- 暗黑破坏神符文之语及合成公式全套.doc VIP
- 光伏电站农光互补的项目实施方案2.doc VIP
- 华中科技大学数理方程与特殊函数课后答案.pdf VIP
- 《水电工程金属结构设备制造监理规范》.doc VIP
- 2025-2026学年初中音乐七年级下册(2024)粤教花城版(2024)教学设计合集.docx
- 赣州市2024-2025学年度第一学期期高三期末考试 英语试卷(含答案).pdf
- 全本玉簪记剧本.pdf VIP
- 开题报告(基于spring boot框架的网上订餐系统的设计与实现).docx VIP
原创力文档

文档评论(0)