首页 > 其他分享 >无涯教程-Swift - 解析构造

无涯教程-Swift - 解析构造

时间:2024-01-29 18:05:01浏览次数:20  
标签:释放 教程 Swift counter 无涯 var 实例 print baseclass

在需要释放一个类实例之前,必须调用" deinitializer"来释放内存空间,关键字" deinit"用于取消分配系统资源占用的内存空间。

释放内存空间

当不再需要实例时,Swift 4会自动释放其实例,以释放资源。 Swift 4通过自动引用计数(ARC)处理实例的内存管理,如自动引用计数中所述。通常,在实例被释放后,您无需执行手动清理。但是,当您使用自己的资源时,可能需要自己进行一些额外的清理。例如,如果创建一个自定义类来打开文件并向其中写入一些数据,则可能需要在释放该类实例之前关闭该文件。
var counter=0; //for reference counting
class baseclass {
   init() {
      counter++;
   }
   deinit {
      counter--;
   }
}
var print: baseclass?=baseclass()

print(counter)
print=nil
print(counter)

运行上述程序时,我们得到以下输出-

1
0

当print=nil语句被省略时,计数器的值保持不变,因为它没有被初始化。

var counter=0; //用于引用计数

class baseclass {
   init() {
      counter++;
   }
   deinit {
      counter--;
   }
}
var print: baseclass?=baseclass()
print(counter)
print(counter)

运行上述程序时,我们得到以下输出-

1
1

参考链接

https://www.learnfk.com/swift/swift-deinitialization.html

标签:释放,教程,Swift,counter,无涯,var,实例,print,baseclass
From: https://blog.51cto.com/u_14033984/9471402

相关文章

  • docker 快速入门实操教程
    docker快速入门实操教程docker,启动!如果安装好docker不知道怎么使用,不理解各个名词的概念,不太了解各个功能的用途,这篇文章应该会对你有帮助。前置条件:已经安装docker并且docker成功启动。最终目的:使用docker替换本地安装的程序并迁移数据(redis、MySQL)。理解概念docker官方提......
  • docker部署(使用docker-compose)手把手教程
    docker部署(使用docker-compose)手把手教程:https://blog.csdn.net/qq_38377190/article/details/125504426?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170650340916800186593495%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=1706......
  • 无涯教程-Swift - 继承
    通常,一个类可以从另一个类继承方法,属性和函数。类可以进一步分类为子类和父类。子类  - 当一个类从另一个类继承属性,方法和函数时,称为子类父类  - 包含从其自身继承其他类的属性,方法和函数的类称为超类Swift4类包含调用和访问方法,属性,函数和覆盖方法的父类,此外,......
  • 无涯教程-Swift - Subscripts(下标)
    Subscripts下标可以访问类,结构和枚举中的集合,序列和列表的元素成员。这些下标用于在索引的帮助下存储和检索值。在someArray[index]的帮助下访问数组元素,而在Dictionary中的后续成员元素可以作为someDicitonary[key]访问。下标声明语法 "subscript"关键字用于定义,用户可以......
  • 【教程】iOS 手机抓包工具介绍及教程
    ......
  • 无涯教程-Swift - Method(方法)
    在Swift4语言中,与特定类型关联的函数称为"方法"。在ObjectiveC中,类用于定义方法,而Swift4语言为用户提供了具有类,结构和枚举方法的灵活性。实例方法在Swift4语言中,可通过方法访问Class,Structures和Enumeration。方法可以写在{}花括号内,它具有对类型的方法和属性的隐式访问,......
  • 无涯教程-Swift - Properties(属性)
    Swift4语言为类,枚举或结构提供属性以关联值。存储属性Swift4引入了存储属性的概念来存储常量和变量的,常量的存储属性由'let'关键字定义,变量的存储属性由'var'关键字定义。在定义期间,存储的属性提供"默认值"初始化期间,用户可以初始化和修改初始值structNumber{var......
  • 无涯教程-Swift - Struc(结构)
    Swift4提供了一个灵活的构建块,可以将结构struct用作结构,通过使用这些结构,可以一次定义构造方法和属性。结构语法Structuresaredefinedwitha'Struct'Keyword.structnameStruct{Definition1Definition2---DefinitionN}结构定义如假设我们必须访......
  • Spring WebSocket实现实时通信的详细教程
    简介WebSocket是基于TCP/IP协议,独立于HTTP协议的通信协议。WebSocket连接允许客户端和服务器之间的全双工通信,以便任何一方都可以通过已建立的连接将数据推送到另一方。我们常用的HTTP是客户端通过「请求-响应」的方式与服务器建立通信的,必须是客户端主动触发的行为,服务端只是......
  • 【完整版教程】查看APP崩溃日志
    摘要本文介绍了在Android和iOS双端设备上查看APP崩溃日志的方法,包括使用adb命令获取Android崩溃日志以及通过克魔助手工具查看iOS设备的崩溃日志。同时提供了操作步骤和相关代码案例演示。引言在移动应用开发过程中,经常需要查看APP的崩溃日志以便进行调试和分析。针对Android和......