在 iPhone 中保留计数

2023-11-29

我用过[anArray retainCount]获取数组的保留计数..(我知道这不应该使用,但我只是为了学习保留概念而使用)

以下是我的代码。


NSString *str = [[NSString alloc] initWithFormat:@"a,b,c,d"];
NSArray  *anArray =[[NSArray alloc]init];
NSLog(@"Retain count: %i", [anArray retainCount]);
anArray=[str componentsSeparatedByString:@","];
NSLog(@"Retain count: %i", [anArray retainCount]);  

output

Retain count: 2
Retain count: 1

我认为应该是相反的,但是......


请帮自己一个忙don't看着retainCount尝试了解内存管理规则是如何工作的。而是参考友好的苹果内存管理指南.

在你的例子中:

 NSArray  *anArray =[[NSArray alloc]init];

您已经分配了“anArray”(通过调用alloc),所以你有责任打电话release.

anArray=[str componentsSeparatedByString:@","];

现在,您已经获得了一个新对象(泄漏了原始对象,正如sead所说)。这次,您不拥有该对象(因为componentsSeparatedByString不具有alloc or copy以它的名字命名),所以你不能释放它。

不用担心保留计数是什么;倾向于你自己的编织并释放你应该拥有的物品,并且不要释放你不拥有的物品。

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

在 iPhone 中保留计数 的相关文章

  • DotNET 应用程序中的 GDI 句柄

    我的纯 DotNET 库作为非托管桌面应用程序中的插件运行 我收到了稳定的 虽然低 崩溃报告流 这些报告似乎表明 GDI 句柄存在问题 错误消息中的字体等 恢复为系统字体 各种控件的显示崩溃 不久后发生大规模崩溃 我的窗体几乎没有控件 但我
  • 滑动删除不起作用

    滑动删除功能在我的表格视图中不起作用 我已经在导航栏中实现了 commitEditingStyle 委托和编辑按钮 因此 当用户单击编辑按钮时 删除和添加按钮会相应显示 但是 在滑动时 删除按钮不会出现 并且似乎它无法将滑动识别为对 set
  • 最近打开的应用程序[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 有什么方法可以获取最近打开的应用程序 例如 4 个 的列表吗 如果是这样 怎么办 可可麦克 看看LaunchServices LSSh
  • UITableview 中的水平和垂直滚动[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 I want to make a lineup for a festival You can see what I want to a
  • 将第 3 方库 ZXing 导入 Xcode

    我尝试了多种方法将第 3 方库 ZXing 导入我的 iOS 应用程序 但所有方法都很痛苦 或者根本不起作用 如果有人可以建议我做错了什么 或者提出导入 ZXing 等库的更好方法 我将非常感激 一定比这个容易 这就是我所做的 结果是 My
  • 最小的 iOS 蓝牙管理器示例

    我一直在构建一个最小的示例 用于使用 iOS 5 0 中的 BluetoothManager 私有框架来检测附近的蓝牙设备 使用此问题中找到的答案 寻找触手可及的通用蓝牙设备 https stackoverflow com question
  • 如何在 NSMutableArray 中实现“按值分组”?

    我正在使用 NSMutableArray 我想像在 SQL 中那样按日期获取值group by log date logMuArray log currenttime 4 30pm log date 11 12 2011 log durat
  • 如何知道用户何时更改设置包

    我让用户在 iPhone 的设置区域中更改他们的设置 在下一次网络同步期间 我想将用户更改发送到服务器 但前提是做出改变 但是我如何知道用户何时在设置区域中进行了更改 如果可以的话 我想避免选择总是发送信息 无论是否更改 或者首先从服务器获
  • 使用 iPhone 中的地图视图读取当前位置名称

    我读取了当前位置的纬度和经度值 然后成功将该位置固定在 iPhone 中 现在我想使用这个纬度和经度值读取该地名 我使用以下代码来读取查找当前位置 void mapView MKMapView mapView1 didUpdateUserL
  • 如何将 NSDecimal 值转换为 NSInteger 值?

    我遇到一种情况 我得到一个 NSDecimal 并且我需要一个 NSInteger 我确实知道这是一个非常小的值 这是绝对肯定的 它不会大于 100 所以将它转换为 NSInteger 就完全没问题 不会发生溢出 这怎么可能做到呢 NSDe
  • 如何知道我的应用程序使用了多少 iCloud 空间?

    有没有办法查看我的应用程序正在备份到 iCloud 的内容以及它消耗了多少内存 Settings gt iCloud gt Storage Backup gt Manage Storage将显示正在备份的总计内容 iOS 会备份位于应用程序
  • 导入 RNCryptor 后架构 armv7 的未定义符号

    我导入了 RNCryptor 可以在这里找到 https github com rnapier RNCryptor https github com rnapier RNCryptor进入我的应用程序 但是 我在日志中收到了三个错误 Und
  • 在 XCode 中链接静态 ObjC 库的过程

    我正在尝试链接到静态库 但不断收到链接器错误 我发现了一些发布示例的网站 但我无法看到我做错了什么 首先 我创建一个链接到我的库的项目 添加 gt 现有文件找到我的 xcodeproj 文件选择 将项目复制到目标组文件夹 选择我的宿主项目作
  • 将 SSLSetEnabledCiphers 与 AFNetworking 结合使用来禁用弱密码

    我正在尝试禁用一些密码 弱 例如单个 DES 单个 DES 40 位等 我尝试过使用这段代码在 Cocoa 中使用 CFSocket CFStream 时如何设置 SSL 密码 https stackoverflow com questio
  • 在 Objective C 的类方法中引用类本身

    我希望我没有跳过 ObjC 手册中的这一部分 但是是否可以从类的一个类方法中引用该类 就像在 PHP 中一样 您将使用 this 来引用当前实例 而 self 引用实例的类 this 的 ObjC 等价物将是 self 那么 PHP 的 s
  • UIPanGestureRecognizer 对坐标的限制

    我在主 UIView 中添加了一个子视图 称为panel 并且我向其中添加了gestureRecognizer 因为我希望它只能在Y轴上拖动并且只能在某些限制下 即160 300 超过300它不能拖动 我以这种方式实现了手势处理 IBAct
  • AVAssetExportSession 为零 iPhone 7 - Plus 模拟器

    AVAssetExportSession在 iPhone 6 及以下版本上运行良好 但在 iPhone 7 iPhone 7 Plus 模拟器上运行不佳 Xcode 8 0 这段代码return nil在exportSession中 当在i
  • 在 MySQL 中使用 COUNT 时如何返回 0 而不是 null

    我使用此查询返回存储在 sTable 中的歌曲列表以及存储在 sTable2 中的总项目数 SQL queries Get data to display sQuery SELECT SQL CALC FOUND ROWS str repl
  • 水平 UICollectionView 单行布局

    我正在尝试使用以下命令设置简单的水平布局UICollectionView 兜圈子却没有达到预期的结果 所以任何指针或例子将不胜感激 我粘贴经常更改的代码但没有成功可能没什么意义 该图像显示两行 第一行是单个项目 尺寸正确并且在中心正确对齐
  • 如何阻止 UITableView moveRowAt IndexPath 在重新排序时留下空白行

    我遇到一个问题 在重新排序 UITableViewCells 时 tableView 不随单元格滚动 仅出现一个空白行 任何后续滚动都会出现数组越界错误 堆栈跟踪中没有我的任何代码 这是该问题的快速视频 http www screencas

随机推荐

  • 提取字符串中文件扩展名 (.ps1) 之前的数字

    创建文件的 cmdlet 返回一个文本块 其中包含文件的名称 该文件的格式为字符串 数字 ps1 但数字是随机的 所以我想提取该数字并将其存储在变量中 供参考的文本块 nA using statement must appear befor
  • 单精度不能保证6位数字吗?

    这是code typedef std numeric limits
  • PySide2 在询问时不更新 QLabel 文本

    我正在从 Python 2 7 升级到 Python 3 6 并从 PySide 升级到 PySide2 我首先尝试从 入门 网站获取 Hello World https doc snapshots qt io qtforpython ge
  • Django auth:在哪里放置自定义模板?

    我想使用 Django 1 9 设置用户身份验证 如文档中所述 我将 auth 视图包含在我的项目中urls py like urlpatterns url accounts include django contrib auth urls
  • 如何将两个不同存储库的两个分支合并到一个存储库中?

    我的 Git 存储库的结构如下所示 A B C D E F master branch in separate repo1 A B C D E G H master branch in separate repo2 A H 是简单的提交 正
  • Python/sqlite:获取新插入行的PK

    我正在使用原始 SQL 插入一行 并且需要获取新插入行的主键 我不能假设任何非 PK 插入的数据是唯一的 也不能假设该行是最后插入的行 如果无法使用原始 SQL 那么使用 常规 插入怎么样 我想我必须完全创建一个新的 customID 字段
  • 从php中的for循环推送关联数组

    for 循环应该循环 10 次 当我刚刚打印 fname lname and email我正在获取 10 条数据 工作正常 但我需要将这些值存储在关联数组中 assocDataArray array foreach data as key
  • 如何设置数字样式?

    我正在尝试改变数字的样式 我想在每 3 位数字之间添加一些空格 我会确切地知道这些数字在 html 中的位置 当我从 html 检索号码时 它需要与我输入的号码完全相同 所以我只想设计数字的样式 不修改号码 我可以使用 javascript
  • 当 python 列表迭代是或不是引用时

    有人可以对这两个Python操作在修改列表方面的区别提供一个简洁的解释吗 demo a b c for d in demo d print demo output a b c for c in range len demo demo c p
  • 抑制函数的命令窗口输出

    我正在使用的一个功能有display 在其中 或在命令窗口上显示消息的其他内容 因此当我运行代码时 它会在命令行上输出很多内容 x 1200 这使得事情很难跟踪和观察 有没有办法抑制这个特定函数的输出 用分号结束语句显然没有帮助 您可以尝试
  • 如何纠正 fortify 给出的路径操作错误?

    我需要读取保存在 user home 文件夹中的属性文件 PropsFile System getProperty user home System getProperty file separator x properties Forti
  • 构建 INSERT 语句值的动态列表

    我正在编写一个存储过程来创建一组DELETE管理员针对数据库运行的语句 作为 回滚 解决方案的一部分 我希望对于要删除的每一行 还分别创建一个相应的INSERT语句 以便运行脚本的人希望撤消 他们可以简单地对数据库运行插入语句 我的问题是
  • 使用 JSON 和 AFNetworking NSDictionary 用数据填充表视图

    c ios n00b 在这里 我已经研究这个问题三天了 我担心我缺少一个基本概念 我已经研究并完成了与此相关的每个教程和堆栈溢出问题 但我无法得到答案 我正在尝试使用 json 文件中的数据填充我的 tableviewcontroller
  • poi读取现有的excel并用大数据进行编辑

    我使用 apache poi 来读取和写入 excel 我可以毫无问题地做到这一点 但是在现有 excel 上写入大型 excel 时 我面临内存问题 下面更详细地解释 我有一个模板 其中列标题是彩色的 有些是合并的 我说的是一张纸中的 1
  • 在地址“0xXXXXXX”处中断,没有可用的调试信息,或在程序代码之外

    配置 使用 Nucleo L476RG 使用 GNU ARM Eclipse 我从 STM32CubeMX 生成了一个极简代码 我已经在我的板载 ST Link 中刷新了 J link 驱动程序 一直在尝试为我的代码运行调试器 但我的程序计
  • Android Studio - 创建模块而不复制文件?

    我正在 Android Studio 中创建具有依赖项的项目 我知道如何通过添加模块来链接项目 但我意识到 导入模块 会在项目内创建 libProject 的副本 有办法防止这种情况吗 就像 外部模块 由于我负责这两个项目 因此我希望能够将
  • Ajax 联系表单问题 - 未发送电子邮件

    抱歉我是个菜鸟 但我正在尽力 我已经完成并阅读了我能找到的所有内容 但我从未让它发挥作用 非常感谢您的帮助 表单 ID 在 html 和 javascript 中匹配 PHP 链接在 Javascript 中 我将 javascript 链
  • 选择GUI时如何去除黑色边框?

    我正在尝试添加一个Entry小部件到Frame with a Scrollbar 当我点击 GUI 时 会出现黑色边框 import Tkinter as tk class Example tk Frame def init self ro
  • 如何在基于servlet的项目中获取部署根目录?

    我正在尝试从 java 获取基于 servlet 的项目的部署根目录 我正在使用以下代码行来获取路径详细信息 Type 1 File directory new File try System out println Current dir
  • 在 iPhone 中保留计数

    我用过 anArray retainCount 获取数组的保留计数 我知道这不应该使用 但我只是为了学习保留概念而使用 以下是我的代码 NSString str NSString alloc initWithFormat a b c d N