Objective C (iphone) 关于发布的问题

2024-05-15

如果我创建一个视图,并将其添加为子视图并将其添加到数组中,是否必须释放它两次?

    UIView* cat = [[UIView alloc] initWithFrame:someFrame];
    [self.view addSubview:cat];
    [self.animals addObject:cat];
    [cat release];
    [cat release];

对我来说,有两个发布声明似乎很奇怪,而且我还没有看到有人这样做。但在这种情况下,保留计数不会增加 2 吗?


你应该只有一个release— 平衡alloc。两者都不addSubView: nor addObject:赋予调用者对该对象的所有权,因此调用者不需要用对象来平衡它们release。正在阅读内存管理指南 http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/MemoryMgmt/MemoryMgmt.html应该为你清除所有这些。

记住“NARC”可能会有所帮助 - 如果您在包含单词“的对象上调用方法”new", "alloc", "r保留”或“copy”,你需要释放它。正如你在上面的代码中看到的,只有alloc符合要求。由于您只 NARC 一次,因此您只需要释放一次。

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

Objective C (iphone) 关于发布的问题 的相关文章

  • 使用 Python 查找 Mac OS X 中的当前活动窗口

    有没有办法使用 Python 在 Mac OS X 上查找给定时间当前活动窗口的应用程序名称 这应该有效 usr bin python from AppKit import NSWorkspace activeAppName NSWorks
  • 学习目标-C。使用 Xcode 3.2.1。错误是什么:程序收到信号:“EXC_ARITHMETIC”

    我正在使用 Stephen Kochan 的优秀著作 Programming in Objective C 2 0 来学习 Objective C 我也是 Xcode 新手 到目前为止 我的所有练习都运行良好 但是当我运行第 153 页上的
  • 如何创建一个仅接收一次信号,然后自行取消订阅/释放的 ReactiveCocoa 订阅者?

    我目前正在注册一个属性信号的订阅者 如下所示 RACAble self test subscribeNext id x NSLog signal fired 默认功能是每次 self test 更改时都会触发 但我只想触发一次 然后取消订阅
  • 使用 NSJSONSerialization 解析 JSON

    对此进行了太多讨论 但我不知道如何解决我的问题 这是我从 WorldWeatherOnline 获取的 JSON 数据 JSON 有效 但我不知道如何解析它 这是我的代码 后面是 JSON 请帮忙 NSError errorInfo NSD
  • iOS UITableViewCell需要按两次才能调用didSelectRowAtIndexPath

    我有一个 UITableView 有时需要您触摸它两次才能选择一个单元格 更多细节 仅当表格一直向上或一直向下滚动后才需要两次触摸 只需第二次触摸即可呼叫didSelectRowAtIndexPath 当表格以自然的 向上滚动位置 打开时
  • Lua表在内存中是如何处理的?

    lua如何处理表的增长 是否相当于ArrayList在Java中 IE 需要连续的内存空间 并且当它变得大于已经分配的空间时 内部数组被复制到另一个内存空间 有什么聪明的方法来引导吗 我的问题是 表是如何存储在内存中的 我不是问如何在 Lu
  • 使用 NSSet/NSMutableSet 来过滤对象?

    我已经看到一些有关使用 NSSet NSMutableSet 过滤对象的问题 答案 这些情况使用简单类型的对象 例如NSString or int 以下是用于过滤的代码示例NSString对象 NSSet smallArray NSSet
  • 自动布局:Y 位置为两个值中的最大值

    我有一个按钮 play Button 和两个 UIView myView 1 和 myView 2 它们的位置在执行过程中可能会发生变化 我希望 playButton 的顶部比 UIView 1 的底部或 UIView 2 的底部低 10
  • 为什么单个 Vec4 乘法会大大减慢我的 ogl es 2 片段着色器的速度?

    我正在为 iOS 设备编写 2D OpenGL 游戏 现在 我正在研究 iPad 第一代 上的性能 该游戏有 ogl 1 1 和 2 0 的代码路径 我可以通过 define 使用 ogl 2 0 时 分析器告诉我 我的渲染器利用率 相当稳
  • 跟踪所有 ObjC 方法调用?

    有时 当查看别人的大型 Objective C 程序时 很难知道从哪里开始 在这种情况下 我认为记录对每个非 Apple 方法的每次调用会很有帮助 有没有办法做到这一点 基本上 在某个中心位置进行一项更改 并记录调用的每个方法 最好仅限于非
  • iPhone,使用 isKindOfClass 是否被认为是不好的做法?

    例如 如果有一个 处理所有 类型的方法 if obj isKindOfClass class1 else if obj isKindOfClass class2 etc 这是不好的做法吗 是否有更简洁的替代方案或更好的方法来构建代码 在运行
  • 如何等待 webViewDidFinishLoad 完成

    我有一个初始化 webView 的布尔条件 并在 webViewDidFinishLoad 中加载另一个委托 以便在完成完成后触发 但是 由于布尔值在条件 webViewDidFinishLoad 之前返回 因此页面永远不会完全加载 如何确
  • 对 UIImage 进行方形裁剪,导致图像拉伸

    当尝试执行 UIImage 的中心裁剪时 我得到以下结果 左侧是原始图像640 1136 右边是适合正方形的裁剪图像UIImageView at 320 320 turns to 我对比率元素进行了相当多的修改 以便它可以正确检测要修剪的量
  • 在 iOS 中录制音频并永久保存

    我制作了 2 个 iPhone 应用程序 可以录制音频并将其保存到文件中并再次播放 其中之一使用 AVAudiorecorder 和 AVAudioplayer 第二个是苹果的在这里说话 http developer apple com l
  • 使用反射的属性类型或类

    我想知道是否可以确定对象属性的类或原始类型 获取所有属性名称和值非常容易 所以答案 https stackoverflow com questions 2299841 objective c introspection reflection
  • 如何使用 ZBar 读取器的 scanCrop 属性?

    我正在使用 iPhone 的 ZBar SDK 来扫描条形码 我希望阅读器仅扫描特定的矩形而不是整个视图 为此需要将阅读器的 scanCrop 属性设置为所需的矩形 我很难理解必须设置的矩形参数 有人可以告诉我如果在纵向视图上它的坐标是 我
  • 更改 UITextField 辅助功能描述

    有没有办法将 UITextField 的辅助功能标签设置为 文本字段 之外的其他内容 因此 我不想将其称为 文本字段 而是将其命名为 代码验证字段 我的建议是不要试图在内置语音输出上智取系统 对于盲人用户来说 文本字段正在编辑 相当于 该项
  • 从 NSError 返回 NSString

    我正在使用NSURLRequest我的 iPhone 应用程序中的类 调用它的方法返回一个NSString这对于连接正常时非常有用 但问题是我需要将 NSError 转换为 NSString 以便我可以将其返回或运行一些if 对此的声明 有
  • SecItemAdd 创建两个身份

    我正在为 iPhone 开发一个应用程序 需要证书来调用某些服务 因此我将证书添加到我的钥匙串中 执行以下操作 SecCertificateRef cert SecCertificateCreateWithData NULL bridge
  • NSMenuItem、自定义视图和 mouseUp 的奇怪问题:

    我在这里遇到了一个非常非常奇怪的 NSMenu 问题 我使用的大约一半的 NSMenuItems 通过 NSMenuItem 上的 setView 方法具有自定义视图 在此自定义视图中 我实现了 mouseUp 来捕获用户单击菜单项的时间

随机推荐

  • Google 地图 InfoBubble PixelOffset(从标记上方的默认位置移动)

    我正在尝试实现一个自定义 infoBubble 它的框打开到标记的侧面 而不是顶部的默认位置 事实证明这比预期的要困难 使用普通的infoWindow 您可以使用pixelOffset 请参阅此处文档 https developers go
  • 如何更改 Ubuntu 14.04 上的 php-cli 版本?

    我是 Linux 新手 在篡改时破坏了一些 php 设置 如果我执行一个包含以下内容的 php 脚本 phpinfo 它显示 php 版本为 5 6 但通过命令行 如果我运行php v它返回 7 0 版本 我想让两个版本匹配 我怎样才能修复
  • SQL中的三元运算符? “传递给 LEFT 或 SUBSTRING 函数的长度参数无效”

    抱歉这个误导性的话题 我不知道如何更好地表达 因为我主要是一名软件开发人员 所以我想到了三元运算符并解决了以下问题 我需要找到通过可为空的外键链接两个表的最可靠的方法 modModel and tabSparePart 两者之间唯一的相似之
  • 在java中以原子方式获取多个锁

    我有以下代码 注意 为了可读性 我尽可能简化了代码 如果我忘记了任何关键部分 请告诉我 public class User private Relations relations public User relations new Rela
  • 原则 2 OneToMany 级联 SET NULL

    错误 无法删除或更新父行 外键约束失败 课程 class Teacher ORM OneToMany targetEntity publication mappedBy teacher protected publications clas
  • 如何有效地将多个光栅 (.tif) 文件导入 R

    我是 R 新手 尤其是在空间数据方面 我正在尝试找到一种方法来有效地将多个 600 单波段栅格 tif 文件导入到 R 中 所有文件都存储在同一文件夹中 不确定这是否重要 但请注意 在我的 Mac 和 Windows 并行 VM 上的文件夹
  • android系统用户和linux root用户有什么区别

    当我将手机连接到电脑并使用adb shell与我的手机通信并输入的命令ps命令输出当前在我的手机上运行的进程信息 我发现有两个特殊用户 一个是root 另一个是system 据我所知 Android是基于linux的 所以root用户是最大
  • 如何将新项目标记为未发布项目?

    在 sitecore 中 如果我将新项目添加到主数据库 未发布 它不会显示有关已发布状态的任何指示 例如 如果用户添加了 10 个项目 他可能会困惑于找出他添加的待发布项目 有没有办法将新添加的项目识别为未发布或新项目 并在 快速操作栏 中
  • 如果文件不存在,有没有办法创建并打开该文件,否则会失败?

    看起来像OpenOptions https doc rust lang org std fs struct OpenOptions html不支持这种情况 现有文件将被截断或覆盖 从 Rust 1 9 0 开始 有OpenOptions c
  • 为什么我不能将 sed 的输出重定向到文件

    我正在尝试运行以下命令 someprogram tee dev tty sed s 2 gt output file 但当我去查看时 该文件始终是空白的 如果我删除 gt output file从命令末尾 我可以看到 sed 的输出 没有任
  • java XMLSerializer 避免复杂的空元素

    我有这个代码 DocumentBuilderFactory factory DocumentBuilderFactory newInstance DocumentBuilder builder factory newDocumentBuil
  • 瞬态 REST 表示

    假设我有一个 RESTful 超文本驱动的服务 用于模拟冰淇淋店 为了帮助更好地管理我的商店 我希望能够显示每日报告 列出所售每种冰淇淋的数量和美元价值 看来这种报告功能可以作为名为 DailyReport 的资源公开 DailyRepor
  • Django - 隐藏内联标签

    如何在 Django 内联中隐藏标签 当我理解正确时 您可以通过添加属性将 verbose name 设置为模型中的空字符串 verbose name 到你的领域就像 street models CharField max length 5
  • MySQL 复制是双向的

    我们已经成功设置了 MySQL 文献中描述的主从复制 不过 我很好奇是否有人设置了双向复制 例如 如果安装了 Drupal 或 Wordpress 第一个 主 数据库服务器出现故障 第二个 从属 数据库服务器恢复正常 与此同时 用户不断进行
  • MUI DatePicker + date-fns 本地化问题

    当我使用MUI时出现这个问题日期选择器 with 本地化提供商 and 适配器日期Fns with 匈牙利 local
  • python dicttoxml 多次使用相同的键

    我正在尝试做如下所示的 xml
  • 如何在多个团队中安装bot而不将其添加到目录中?

    我刚刚使用 Microsoft 机器人框架在我的 slack 开发团队中创建了第一个 slack 机器人 现在我想将机器人添加到另一个团队进行测试 我的机器人不会供公众使用 仅在公司内部使用 我尝试使用 添加到 Slack 按钮将其添加到新
  • 根据所选单选按钮启用文本框

    我有一个单选按钮列表 其中列出了不同的业务类别 最后一个选项是Other类别 当用户选择Other类别 我希望能够启用一个文本框 用户可以输入更多信息来解释Other选择 目前 我正在尝试 If rblCategory SelectedIn
  • java 中的蓝牙 (J2SE)

    我是蓝牙新手 这就是我想做的事情 我想获取连接到我的电脑上的蓝牙的设备信息并将该信息写入文件中 我应该使用哪个 api 以及如何实现 我遇到了 bluecove 但经过几次搜索 我发现 bluecove 不能在 64 位电脑上运行 我现在应
  • Objective C (iphone) 关于发布的问题

    如果我创建一个视图 并将其添加为子视图并将其添加到数组中 是否必须释放它两次 UIView cat UIView alloc initWithFrame someFrame self view addSubview cat self ani