Swift 中如何知道该结构已从内存中删除?

2024-01-11

迅速class类型有方法deinit()我们可以在其中定义类的实例将从内存中删除。我们如何知道struct它将从记忆中删除?

例如,

struct Vehicle { ... }
var v: Vehicle? = Vehicle()
v = nil

一种简单的方法是使用虚拟类。只需创建一个空类并在那里实现 deinit() 即可。然后在你的结构中使用这个类作为成员,p.e.

let dummyClass = DummyClass()

一旦结构被释放,类的 deinit() 函数就会被调用。如果没有,那么就会出现内存泄漏。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift 中如何知道该结构已从内存中删除? 的相关文章

  • iOS后台获取时间限制崩溃

    我已经设置了背景获取 使用大纲NSScreencast 第 92 集 http nsscreencast com episodes 92 background fetch BOOL application UIApplication app
  • Flutter-iOS 当应用程序更新/重新编译时存储的图像丢失

    嗨 请原谅我的英语 也是 flutter iOS 的新手 我在 iOS 上有一个关于 flutter 的应用程序 用户可以从他们的相机和图库中拍摄照片和视频 我正在使用 image picker 包 这没有问题 然后我将其保存在在其应用程序
  • 在 Pages 文稿中打开文本—Swift

    在我的 Swift 2 应用程序中 用户通过文本字段创建一串文本 然后将其共享给另一个应用程序 现在 我只能将文本共享为 txt 文件 这不提供选项Open In Pages当我打开系统共享对话框时 如何才能让用户可以选择将输入的文本作为
  • Swift try inside Objective-C 块

    我需要创建一个函数foo它接受一个抛出闭包作为参数 我可以使用 Swift 或 ObjC 来实现它 但我需要能够从两者中调用它 像这样 Swift func bar throws func foo block throws gt void
  • 从 ios 应用程序到 symfony2 Web 应用程序的登录和管理会话

    我使用 Symfony2 开发了一个 Web 应用程序 我用过FOS用户包用于用户管理和安全 现在 我正在考虑为我的网络开发一个本机 iOS 应用程序 但并不真正知道如何解决从应用程序创建会话的问题 并在整个交互用户应用程序中维护它 换句话
  • 在 iOS 7 中查看 Core Data 创建的 sqlite 文件时出现问题

    当我尝试访问由核心数据创建的数据库文件时遇到问题 DB 文件位于 Documents 文件夹中 我已将其复制到桌面并使用 Firefox 插件打开它 Hello sqlite文件不包含任何行我有使用核心数据插入值 我正在使用 iOS 7 模
  • iOS FacebookSDK + 解析 SDK + GoogleMaps SDK

    我搜索了很多 然后我意识到 ObjC标记那个GoogleMapSDK需要 但不能很好地配合ParseSDK and FacebookSDK 所以我阅读了所有的 stackoverflow 答案并尝试解决我的问题 问题还没有解决 我执行的步骤
  • 如何在导航栏上添加 UIView?

    我需要覆盖UINavigationBar with UIView像这儿 除了使用带有按钮返回的自定义 UIView 作为导航栏之外 还有其他方法可以做到这一点吗 您可以将子视图添加到应用程序的基本视图 UIApplication share
  • 在 macOS 上使用 Swift 3 从剪贴板读取

    我是 Swift 的初学者 我想弄清楚如何在 macOS Swift 3 上读取已复制到剪贴板的内容 我搜索了很多 但似乎找不到任何有效的东西 我从网上尝试过的一些事情 var pasteboardItems NSPasteboardIte
  • 有没有办法在 C 中按多个变量对结构进行排序?

    我必须编写一个对数组中的结构进行排序的函数 结构是 define MAX USERNAME LENGTH 16 typedef struct char username MAX USERNAME LENGTH unsigned int ri
  • 无法在 xcode 8 beta 6 上编译 AWS CustomIdentityProvider

    我在 iOS 应用程序中使用 Amazon Cognito 和 Facebook 登录 直到 beta 5 为止此代码从这个SO线程 https stackoverflow com questions 37597388 aws cognit
  • Grand Central Dispatch (GCD) 调度源标志

    我最近不再使用 to GCD 调度来源 https developer apple com documentation dispatch 1385630 dispatch source create监视文件更改 效果很好 API 也变得更加
  • 广告标识符和标识符ForVendor返回“00000000-0000-0000-0000-000000000000”

    我已经实现了这个方法来获得advertisingIdentifier and identifierForVendor NSString advertisingIdentifier if NSClassFromString ASIdentif
  • 使用javascript以编程方式触发iOS safari中的复制菜单?

    我正在尝试实现一种用户友好的方式 将一些文本从文本输入字段复制到 iOS Safari 上的剪贴板 我知道无法在这个平台上以编程方式完成此操作 但我希望能够尽可能地指导用户体验 在 iOS Safari 上 当用户手动突出显示某些文本时 会
  • UITableViewCell 内嵌套 UIStackView 内的 UILabel 有时会被截断

    我的一个表设置中有一个表视图单元格 其中包含以下视图层次结构 外部水平 stackview 固定到单元格内容视图的尾部 前部 底部和顶部边缘 右侧标签固定到其父 stackViewHackView 的尾部 前部 底部和顶部边缘 在我的控制器
  • 使用 PDFOutline 将 TOC 添加到 Swift/Cocoa 中的 PDFDocument

    我正在开发一个小程序 将多个单页 PDF 合并到一个多页 PDF 中 我正在 Swift4 MacOS Cocoa 中工作 但我一生都无法在 Swift 中找到任何类型的示例来创建大纲 仅遍历现有的大纲 我对此非常熟悉 使用对文档的最佳猜测
  • 如何将设备上未保存的图片上传到dropbox帐户?(IOS)

    Dropbox RestClient 仅保存文件 所以我想先将图像保存在本地文件夹中 然后上传它 结果它保存了文件 但它已损坏 NSString localPath NSBundle mainBundle pathForResource I
  • 找不到 Cocoa/Cocoa.h 文件

    我在用XMPPFramework在我的应用程序中 我已将 Cocoa Cocoa h 导入到我的 m 文件中 但是当我构建项目时Xcode显示错误 错误 未找到 Cocoa Cocoa h 文件 我该如何解决这个错误 如果您正在为 iOS
  • 获取所有ios应用程序的全局列表[重复]

    这个问题在这里已经有答案了 我想对苹果应用商店进行一些全球统计 一个瓶颈是至少获取所有当前活动应用程序的 ID 这 9 位数字 有谁知道如何获取 iOS 应用商店中当前活动应用程序的所有 id 的完整列表 更好的是特定类别的所有 ID 例如
  • iOS 目标 c 中的 AES/CBC/PKCS5Padding 结果与 Android 不同

    我在 Android 应用程序中使用 AES CBC PKCS5Padding 代码就像 private static String TRANSFORMATION AES CBC PKCS5Padding private static St

随机推荐

  • 如何导出 Vagrant 虚拟机以进行传输

    我有一个 vagrant box 已启动并正在运行 配置有 LAMP 堆栈 我需要将其转移到另一台电脑上 我怎样才能导出它 我想我可以获得一个可以复制到另一台电脑的文件 这样我就可以运行一些命令来导入流浪盒 你有两种方法可以做到这一点 我称
  • NodeJS - 如何删除文本文件的第一行而不读取所有行?

    我的 S3 存储桶中有以下文件 field1 field2 field3 VAL11 VAL12 VAL13 VAL21 VAL22 VAL23 VAL31 VAL32 VAL33 最终目标是仅删除文件的第一行field1 field2 f
  • nhibernate 3.3 一对多映射代码更新子项而不是插入

    我与 旧 nhibernate 或 flutter 建立了无数次的一对多关联 但我无法让它与代码映射一起工作 这些是课程 public class Parent public virtual IList
  • MySQL中如何计算NULL值?

    我想知道如何找到 MySQL 数据库中所有 NULL 值 例如我试图显示所有还没有平均值的用户 这是 MySQL 代码 SELECT COUNT average as num FROM users WHERE user id user id
  • 过滤 mysql 复制(ignore-db)

    mysqlignore db 根据服务器 my cnf 工作 AFAIK i e binlog ignore db mysql replicate ignore db mysql 我不确定 如果这也适用于客户端 任何人都可以解释该机制 我如
  • 如何告诉 Ninject 绑定到它没有引用的实现

    我在用着NinjectMVC3 http nuget org List Packages Ninject MVC3在我的 ASP NET MVC3 项目中 我有3层 Foo Web Foo 服务 Foo Data Foo Web 引用 Fo
  • 如何在 PHP 页面中包含 JSP

    我希望在 PHP 模板中包含包含 Java 代码的 JSP 文件 有问题的两个包含文件是头文件和页脚文件 有人有这样做的经验吗 我们正在考虑仅执行 HTTP 请求来独立地从 JSP 文件中获取生成的 HTML 但不确定这样做是否会出现轻微的
  • APNS 不适用于 Adhoc 构建

    我正在使用具有临时配置文件和证书的应用程序 该申请尚未发布 但 APNS 给出了错误8 无效令牌 以下事项已被检查 应用程序具有授权密钥
  • NDK Android - 无法同时构建 ARMv5 和 V7

    我面临一个奇怪的问题 我正在为我的 Android 应用程序构建一个共享库 我无法同时构建armv5和armv7 如果这样做 我会在第二次运行时 当 ndk 构建 armV7 库时 在源文件中出现很多错误 例如 FinderPatternI
  • 更改 DOJO 小部件的默认样式

    我希望能够更改一些默认的 CSS 样式 例如 dijit TitlePane 而无需破解 工厂安装的 CSS 主题 我想做的是删除Title and 内容外层TitlePane 的边框 在声明小部件时设置一个类 在本例中为 无边框 不起作用
  • Ajax 在单击按钮上重新加载 div 内容

    我的想法是 我有一个主 DIV 其中包含汽车信息的内容迷你 div 每行分为两个 这是我通过数据库查询得到的 我希望在按下该按钮时使用来自DB 这可能吗 请指教 代码如下所示 div class SearchBlocks div class
  • 无法从 c# 中保存 Gnuplot png

    我试图从 c 中打开 gnuplot 并让它保存图表的 png 我有两个问题 1 gnuplot 的黑色命令行框和实际绘图都会出现 我希望这两个都不要出现 2 将终端设置为 png 并绘制 sin x 后 它实际上并没有保存文件 不过 这些
  • 如何在Xamarin中调用API在UI上显示数据

    我对 Xamarin 有点陌生 正在开发 iOS 应用程序 我需要调用 API 并绑定响应数据以查看已使用的MVVM图案 这是我的ViewModel Code public class PersonalDetailModel BaseVie
  • 处理 React Redux 应用程序中的异步错误

    不久前丹发推文 当我看到 then gt dispatch catch 在 React 项目中 如果组件在调度期间抛出异常 你就会陷入困境 并说解决方案是如此简单 只是不要链接 catch afterthen 渲染 UI 相反 将错误处理程
  • 从自定义子查询中选择列名称/别名的列表

    在 Oracle 中 有没有办法选择带有别名的自定义查询返回的所有列 举个例子 假设我们有一个如下查询 SELECT FIRST NAME AS COL1 LAST NAME AS COL2 ADDRESS AS COL3 FROM PEO
  • 如何在不添加任何代码的情况下在 Python 中对单元测试进行基准测试

    我有一个 Python 项目 其中有一堆已经实现的测试 我想开始对它们进行基准测试 以便我可以比较代码 服务器等随着时间的推移的性能 以类似于 Nose 的方式定位文件没有问题 因为无论如何我所有测试文件的名称中都有 test 但是 我在尝
  • 如何更改 ScriptManager 中注册脚本的顺序

    背景 在我们的母版页中 我们有一个ScriptManager看起来像这样
  • 为什么嵌套函数可以访问外部函数的变量,但不允许修改它们[重复]

    这个问题在这里已经有答案了 在下面的第二种情况中 Python 尝试查找局部变量 当它找不到时 为什么它不能像第一种情况那样在外部范围中查找 这会在本地范围中查找 x 然后在外部范围中查找 def f1 x 5 def f2 print x
  • BigInteger 模 '%' 运算和小于/大于运算

    您好 我有一个算法 需要将运算应用于 BigInt 我知道 BigInt 可以使用 Maths 类进行操作 例如 import java math BigInteger a BigInteger b BigInteger ZERO BigI
  • Swift 中如何知道该结构已从内存中删除?

    迅速class类型有方法deinit 我们可以在其中定义类的实例将从内存中删除 我们如何知道struct它将从记忆中删除 例如 struct Vehicle var v Vehicle Vehicle v nil 一种简单的方法是使用虚拟类