如何通过ARC确保IOS 5中单例的销毁?

2023-12-15

比如说,我想创建一个里面有一些数据的单例。正如在单例中所期望的那样,数据仅动态分配一次。

但我现在想知道何时以及如何发布这些数据。我应该建立特殊的方法来破坏单例吗?更具体地说——何时执行该单例的“dealloc”方法?谁对此负责?


您可以声明显式调用的方法/函数。

最简单的方法是让静态 C++ 类持有它,然后在其析构函数中释放它。如果您有多个单例,那么这种方法不能很好地扩展,因为销毁顺序是实现定义的。

另一种选择(也是更好的设计)是避免使用单例方法,而只是将其用作另一个类中的常规实例,该类在应用程序的持续时间内存在(应用程序委托是一个众所周知的示例)。

至于“何时”,这取决于它的依赖关系以及它的使用方式。尽量减少外部破坏的影响也很好。

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

如何通过ARC确保IOS 5中单例的销毁? 的相关文章

  • iOS 8 支持动态链接吗?

    直到 iOS7 之前 出于安全考虑 Apple 都不支持动态链接 开发人员之间的代码重用通常依赖于静态库 这些静态库是作为应用程序可执行文件的一部分构建的 在 iOS8 中引入扩展似乎稍微改变了这一点 因为扩展是单独的可执行文件 扩展及其包
  • iOS 中如何清除特定域的 cookie?

    我已经搜索了 StackOverflow 上的几乎所有问题来寻找我的问题的答案 我还没有找到任何有用的链接或教程来说明哪种方式最好清除特定域的 cookie 如果有人可以帮助我 请 我自己找到了解决方案 如果您想删除 UIWebView 中
  • 如何将导航栏大标题转换为多行,居中对齐

    我正在尝试设计具有多行居中大标题文本的视图控制器 就像苹果的 Ask Siri Settings gt General gt Keyboards gt About Ask Siri Dictation and Privacy 我可以使用以下
  • 将第 3 方库 ZXing 导入 Xcode

    我尝试了多种方法将第 3 方库 ZXing 导入我的 iOS 应用程序 但所有方法都很痛苦 或者根本不起作用 如果有人可以建议我做错了什么 或者提出导入 ZXing 等库的更好方法 我将非常感激 一定比这个容易 这就是我所做的 结果是 My
  • iOS8 CoreData“使用未实现的初始化程序”

    我尝试运行我的应用程序时收到以下错误 致命错误 对类 rcresttest CatalogItem 使用未实现的初始化程序 init entity insertIntoManagedObjectContext 我可以通过将数据模型中的实体类
  • UICollectionView 自动滚动到 IndexPath 处的单元格

    在加载集合视图之前 用户设置集合视图数组中的图像数量 所有单元格都不适合屏幕 我有 30 个单元格 但屏幕上只有 6 个 问题 如何在加载 UICollectionView 时自动滚动到具有所需图像的单元格 新的 编辑过的答案 将其添加到v
  • 修补应用内购买黑客;卡在第四步

    正如我们许多人所知 苹果最近出现了一种情况 黑客可以免费获得任何应用内购买 苹果最近发布了这个文件 http developer apple com library ios releasenotes StoreKit IAP Receipt
  • 从 UIImagePickerController 相机视图推送 viewController

    我正在开发一款消息应用程序 类似于 WhatsApp 用户可以互相发送文本和图像消息 当用户想要发送图像时 他可以从相机胶卷中选择一张图像 也可以用相机拍摄一张图像 这就是我介绍的方式UIImagePickerController对于这两种
  • 如何替换已弃用的方法dispatch_get_current_queue()? [复制]

    这个问题在这里已经有答案了 我正在 iOS 5 中使用 xmppframework 开发一个聊天应用程序 它工作得很好 但我将 Xcode 更新到 4 5 1 将 iOS 5 更新到 iOS 6 将 Mac OS 更新到 10 7 5 但由
  • 如何知道我的应用程序使用了多少 iCloud 空间?

    有没有办法查看我的应用程序正在备份到 iCloud 的内容以及它消耗了多少内存 Settings gt iCloud gt Storage Backup gt Manage Storage将显示正在备份的总计内容 iOS 会备份位于应用程序
  • 如何使用 NSUserDefaults 在 Swift 中存储自定义类的数组?

    我有一个名为的自定义类Person当某人输入信息时 它会存储有关某人的各种属性 class Person Person dictionary variable var name String var age String var html
  • 导入 RNCryptor 后架构 armv7 的未定义符号

    我导入了 RNCryptor 可以在这里找到 https github com rnapier RNCryptor https github com rnapier RNCryptor进入我的应用程序 但是 我在日志中收到了三个错误 Und
  • 当地图视图只是屏幕的一部分时,如何在 iOS 模拟器中进行捏合?

    我在 iPad 上有一个视图 我正在添加MKMapView也就是说 全屏高度的一半 然而 当我尝试在 iOS 模拟器上进行捏合时 它不起作用 因为 to nubs 填充了模拟器上的整个 iPad 视图 And so with the map
  • 在 Swift 中从 UIScrollView 创建 PDF 文件

    我想从 UIScrollView 的内容创建一个 PDF 文件 func createPdfFromView aView UIView saveToDocumentsWithFileName fileName String let pdfD
  • 将 SSLSetEnabledCiphers 与 AFNetworking 结合使用来禁用弱密码

    我正在尝试禁用一些密码 弱 例如单个 DES 单个 DES 40 位等 我尝试过使用这段代码在 Cocoa 中使用 CFSocket CFStream 时如何设置 SSL 密码 https stackoverflow com questio
  • 减少 CoreData 的调试输出?

    我正在开发一个使用 CoreData 的 iOS macOS 项目 它工作正常 但它会向控制台输出大量调试信息 这使得控制台无法使用 因为我的打印语句隐藏在所有与 CoreData 相关的内容中 我有一个非常简单的 CoreData 设置
  • Apple Watch 预构建操作可更改故事板 customModule 引用

    我目前有一个项目 其中包含同一应用程序的 3 个不同版本 不同的品牌等 该项目运行得很好 从那时起 我添加了 3 个新的 Apple Watch 目标 每个应用程序 版本 1 个 其中 2 个引用 主 Apple Watch 目标中的文件
  • 如何让按钮闪烁?

    我试图在扫描正确时将按钮的颜色 只是闪烁 闪烁 更改为绿色 在出现问题时将按钮的颜色更改为红色 我可以用这样的视图来做到这一点 func flashBG UIView animateWithDuration 0 7 animations s
  • 根据 iOS 版本使用不同的类实现?

    iOS 11 最近添加了一个我想使用的新功能 但我仍然需要支持旧版本的 iOS 有没有一种方法可以将同一个类编写两次 并让较新版本的 iOS 使用该类的一个版本 而旧版本的 iOS 使用另一个版本 注 最初我用的是if available
  • 如何将 ios7 通用应用程序升级到基于 Xcode 6 的通用故事板应用程序?

    我目前有一个基于 xcode 5 ios 7 的通用应用程序 因此有两个故事板 我正在考虑将其更新到 ios 8 有没有办法 最佳方法将两个故事板迁移到通用的单个故事板 我在 xcode 6 中看不到转换选项 None

随机推荐

  • Win32:API 调用以列出服务器上的可用网络共享?

    假设我可以访问 IP 1 2 3 4 的 SMB 服务器 我如何确定可用共享的列表 当我输入 UNC 路径 1 2 3 4 时 Windows 资源管理器可以执行此操作 但命令提示符 dir 1 2 3 4 失败 我尝试了通常的 FindF
  • Javascript JSON.stringify 无法正确处理原型?

    我一直在初始化我的可重用类 如下所示 构造函数通常是复制构造函数 function Foo Foo prototype a 1 Foo prototype b 2 Foo prototype c var obj new Foo obj c
  • 如何检测 php 中被阻止的地址

    所以这是我的问题 我们正在尝试在我们的网站上设置 facebook like 和 twitter 推文按钮 但当 facebook 和 twitter 在计算机上被阻止时 它会导致浏览器变得无响应 所以我想做的是检测 Facebook 或
  • 适用于 Android、iOS 和 Flash 的 WebSocket 库 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 有人可以提供一个在 Android iOS iPhone iPad 和 Flash 不是 Flex 中实现 WebSocket 的示例吗 我找到了一
  • 用于使用已知模式解析字符串中的值的 sscanf 的 Java 等效项是什么?

    所以我有 C 背景 最初是 C 语言 尽管我已经有近 5 年没有使用过该语言了 我正在尝试从 Java 中的字符串中解析一些值 在 C 中我会使用 sscanf 在Java中 人们告诉我 使用Scanner或StringTokenizer
  • git:为什么我可以签出我删除的提交?

    我有一个包含三个提交的分支 mybranch a gt b gt c 我将其推送到远程仓库 然后我决定我不想保留提交b and c 所以按照描述删除它们here git reset hard HEAD 1 git reset hard HE
  • Python:“import X as X”(其中 X 相同)有什么意义?

    In aiohttp我发现很多说法import X as X 为什么要这样做 文件的链接 我不知道答案 但链接源文件的历史记录透露了它 构造from SOMEWHERE import X as X 与相同的X 需要消除警告mypy stri
  • 如何将我的“分离头”提交返回到主服务器[重复]

    这个问题在这里已经有答案了 看起来几天前我创建了一个名为detached HEAD并一直致力于此 我的正常流程是承诺master然后将其推至origin 但我无法推动detached HEAD 我的下一站搞砸了我 我选择了git check
  • 在 WPF 中限制“Auto”和“1*”的行高

    我有一个 WPF 应用程序 其布局由顶层的 3 行组成Grid 我希望中间行用完它需要的空间 它需要的最大空间是有限的 但取决于窗口的宽度 底行应用完剩余空间 棘手的部分是顶行 它的大小可能会根据切换大部分内容的可见性的按钮而变化 我希望它
  • 在添加包含第一个对象的对象时,如何防止 EF 插入数据库中已存在的对象?

    这是不言自明的 我有一个包含另一个类的类 我们称它们为主题和课堂 public class Subject public Classroom Class get set 我使用的是无状态外观 这意味着我的 DbContext 在恢复对象后立
  • SED:匹配同一行上的 2 个模式

    您好 我想使用 sed 删除一行 如果它与同一行中的 2 个正则表达式匹配 EG 该行以 开头 以 结尾 注释 下面的脚本将完成大部分工作 sed e d e d 文件名 该脚本将删除所有以 开头并以 结尾的行 我希望它仅在满足两个条件而不
  • 当应用程序位于前台时如何处理 Firebase 通知

    我已将 Firebase Cloud Messaging 与我的应用程序集成 当我从 Firebase 控制台发送通知时 如果应用程序处于后台或未打开 我会成功收到通知 否则 如果应用程序位于前台或打开 我没有收到它 感谢所有建议 当应用程
  • C 中数组初始化中的方括号是什么意思?

    static uint8 t togglecode 256 0x3A CAPSLOCK 0x45 NUMLOCK 0x46 SCROLLLOCK 是什么意思 0x3A 这里 我只学到了像这样的陈述int a 2 1 2 这意味着初始化n 数
  • 模拟器上的越狱应用程序?

    我正在 Xcode 上为越狱的 iPhone 开发应用程序 我使用的是 Xcode 4 2 我的 iPhone 操作系统是 iOS6 我无法将我的iPhone与XCode连接进行测试 因为XCode 4 2不支持iOS6 每次当我编译代码并
  • 在 Python 中使用空格有什么陷阱吗?

    目前 我在 Python 中从未遇到过空格问题 尽管我只在两个项目中使用过它 而且我是唯一的程序员 对于学习 Python 的人来说 Python 中的空格和缩进有哪些潜在的陷阱 在某些编辑器中 一行用空格缩进 而下一行用制表符缩进 这可能
  • 如何根据动态字段对 solr 结果进行排序

    我需要根据动态字段对结果进行排序 我怎样才能做到这一点 当我对其中一些动态属性的最小值进行排序时 它没有给出正确的结果 因为我的查询就像 sort min A 160018 A chandigarh1 一些文档同时具有这两个字段A 1600
  • python 从 tsv 文件链接一个列表

    我有这个 tsv 文件 其中包含一些链接路径 每个链接由 分隔我想用 在下面的示例中 我们可以看到文件中的文本是分开的 我只想通读最后一列 这是一条以 14th 开头的路径 6a3701d319fc3754 1297740409 166 1
  • 如何从 PHP 文本中删除空行?

    我需要在 PHP 中删除空白行 带有空格或绝对空白 我使用这个正则表达式 但它不起作用 str ereg replace t r n str str preg replace t r n str 我想要的结果是 blahblah blahb
  • 如何在 Android 4.2 中以编程方式卸载 USB 驱动器

    我读过很多关于这个主题的文章 但我还没有找到解决方案 在我的应用程序中 我需要在将文件从 USB 驱动器复制到平板电脑后卸载 USB 驱动器 这样我就可以安全地删除它 而无需使用 设置 菜单 现在我正在使用这个方法 Utility copy
  • 如何通过ARC确保IOS 5中单例的销毁?

    比如说 我想创建一个里面有一些数据的单例 正如在单例中所期望的那样 数据仅动态分配一次 但我现在想知道何时以及如何发布这些数据 我应该建立特殊的方法来破坏单例吗 更具体地说 何时执行该单例的 dealloc 方法 谁对此负责 您可以声明显式