NSString、NSNumber 类型属性中,保留还是复制哪个更好? (NSArray 怎么样?)

2024-02-16

如果对象具有 type 属性NSString or NSNumber, 哪个更好,retain or copy?

我认为这些对象是不可变的(不能改变对象的状态)所以复制更好?

我看到了为什么复制比分配 NSMutableString 并更改它更好的示例,但是没有NSMutableNumber。那么在以下情况下NSNumber,我最好用retain to NSNumber物体?

If copy更好,因为NSString and NSNumber内存使用量小,如果属性是NSArray type?

NSArray类型也是不可变的,使用 copy in 怎么样?NSArray特性?


对于不可变的对象,复制。

对于像大多数 NSStrings 这样的不可变对象,-copyWithZone:是有效地

-(id) copyWithZone: (NSZone*) zone
{
    return [self retain];
}

所以开销是最小的。

对于可变对象,可能是复制,但是对于大型可变对象(例如字符串和大型可变数组),您需要根据分析代码进行判断。当然,对于可变对象,您也可以want原始版本,因为您可能想查看原始版本中的更改。

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

NSString、NSNumber 类型属性中,保留还是复制哪个更好? (NSArray 怎么样?) 的相关文章

  • 如何在UITextField上自动打开键盘?

    我有一个非常简单的表格 当触摸单元格时 它会打开一个带有一个 UITextfield 的新视图 我想要的只是键盘会自动打开 而用户无需触摸 UITextfield 这一切都是在 Interface Builder 中完成的 所以我不确定如何
  • 使用 MKPolyline 在地图上绘制用户路线

    我对 Objective c 还很陌生 在我的应用程序中 我试图将用户采取的路线绘制到地图上 到目前为止 这是我仅获取用户当前位置的内容 import StartCycleViewController h import CrumbPath
  • iOS7 无法隐藏状态栏

    我刚刚将我的 iPhone 5 iOS 7 升级到了四个测试版 现在 当我在这台 iPhone 上通过 Xcode 5 运行我的应用程序时 状态栏不会隐藏 尽管它应该隐藏 不工作 UIApplication sharedApplicatio
  • 为什么分割视图控制器必须始终是您创建的任何界面的根?

    在苹果的开发者指南中 他们指出 分割视图控制器必须始终是您创建的任何界面的根 see here http developer apple com library ios featuredarticles ViewControllerPGfo
  • MPMoviePlayerViewController,删除 Quicktime 符号/添加背景图像?

    我有一个播放音频的 MPMoviePlayerViewController 我想删除 Quicktime 徽标和 或向播放器添加自定义背景图像 但保留播放控件 我发誓我在 iOS 5 之前就已经这样做过 但我无法重新弄清楚 我尝试过的事情
  • NSPredicate 格式字符串不起作用

    在我的代码中 我想检查记录是否已存在 以便我知道是创建它还是更新它 但我遇到了一个问题 问题是当我使用这个时 NSPredicate pred NSPredicate predicateWithFormat ATTRIBUTE ID idN
  • Xcode 4:获取请求模板变量?

    在 Xcode 3 X 中 您应该右键单击获取请求模板的谓词编辑器中的空白来指定变量输入而不是硬编码谓词 这是 XCode 4 中的哪里 我已经按住了选项 右键单击 选项单击等 但无法弄清楚 我认为X4不再有变量了 相反 我认为您必须选择一
  • 如何在iOS应用程序中实现信号量?

    是否可以在ios应用程序中实现计数信号量 对的 这是可能的 有很多可用的同步工具 同步 NSLock NS条件 NS条件锁 GCD 信号量 并行线程锁 我建议阅读 线程编程指南 http developer apple com librar
  • 如何将 JPG 文件加载到 NSBitmapImageRep 中?

    Objective C 可可 我需要将 JPG 文件中的图像加载到二维数组中 以便可以访问每个像素 我正在尝试 未成功 将图像加载到 NSBitmapImageRep 中 我尝试了以下两行代码的几种变体 NSString filePath
  • 如何使用编译时间作为自动版本控制信息?

    当程序被编译以获得一种自动版本信息时 是否有任何常量或 pragma来获取时间和日期 DATE and TIME 是预定义的宏 将分别扩展到当前日期和时间
  • 迁移大型 Core Data 数据库崩溃

    我有一个将产品存储在核心数据文件中的应用程序 这些产品包括作为 可转换 数据的图像 现在我尝试使用轻量级迁移添加一些属性 当我使用一个小型数据库对其进行测试时 它运行良好 但当我使用一个接近 500 MB 的大型数据库时 应用程序通常会因内
  • 空 NSDatePicker

    你好 是否可以让 NSDatePicker 代表 nil 对象 类似 或任何其他方式 谢谢 拉杜 简短回答 否 NSDatePicker 只是忽略无效日期和 nil 例如 这不会更新 NSDatePicker 旧值仍然存在 datePick
  • 如何为 Mac OS X 制作可拖动的菜单栏图标

    我正在为我正在开发的应用程序编写菜单栏图标 但是 NSStatusBar 类没有可以通过 cmd 鼠标左键拖动来使图标可拖动的方法 如何使用 Objective C 代码使菜单栏图标可拖动 谢谢 目前您无法使用 NSStatusBar 来完
  • 如何使用 XCode 在 iOS 应用程序中的推文中上传视频

    我是 iOS 开发新手 需要对我正在接管的 iOS 应用程序进行更改 以将视频添加到推文中 我当前的应用程序 UI 允许用户输入推文文本 但我将对其进行更改 以允许他们选择要与推文一起上传的视频 类似于 Twitter 应用程序的工作方式
  • NSString 上的 stringWithFormat 与 initWithFormat

    我想知道以这种方式声明 NSString 有什么区别 例如缺点和 或优点 NSString noInit NSString stringWithFormat lolcatz d i 与以下相反 NSString withInit NSStr
  • 无法在 iOS UIWebView 中加载完整的 Facebook 评论插件

    我有一个简单的ViewController在 UIWebView 中加载 FB 评论插件 implementation ViewController void viewDidLoad super viewDidLoad UIWebView
  • 使用 Python-AppKit-Objective C 转换为预组合 Unicode 字符串

    苹果公司的这份文件技术问答 QA1235 http developer apple com qa qa2001 qa1235 html描述了一种将 unicode 字符串从组合版本转换为分解版本的方法 由于我对包含某些字符 例如重音符号 的
  • 在集合视图单元格中播放视频,就像在 Facebook 应用程序时间轴中播放的视频一样

    我想在集合视图单元格中播放视频 要求就像 Instagram 时间线 播放视频就像在 facebook 时间线中播放视频 为此 我使用了 UICollectionViewCell 我有一些图像 没有视频 现在我是来自画廊的图像 我正在使用相
  • 如何读取 Xcode 6.1 Instruments .trace 文件?

    我一直在尝试阅读 trace文件 我使用生成的custom仪器模板 仪器 自动机 分配 Leaks using 仪器 https developer apple com library mac documentation Developer
  • 如何将数据从一个视图传递到下一个视图?

    我正在制作一个下载排队系统来下载视频 处理下载的排队代码位于另一个视图控制器中 现在我的问题是如何将下载的 URL 传递到另一个视图而不推送到另一个视图控制器 如下所示 ViewConntroller View ViewConntrolle

随机推荐

  • 在 HTML 与 CSS 中指定页面加载的图像尺寸

    我很久以前就从某个地方了解到 指定宽度和高度 img HTML 文档中的元素可以加快并改善页面加载体验 并且通常遵循以下做法 img src width 100 height 100 我现在面临的情况是 单个页面上有大量图像 我更喜欢通过
  • 从 Azure VM 打开活动 FTP 连接

    我正在尝试通过 Azure VM 的活动连接连接到远程 FTP 服务器 我收到的错误是 非法 PORT 命令 我使用被动连接连接到其他 FTP 站点没有问题 但此 FTP 服务器仅支持主动连接 我的问题基本上与这个问题 https serv
  • 如何使用php从周数中查找月份号、名称

    如何使用php从周数中查找月份号 名称 如果您有ISO week http en wikipedia org wiki ISO week date数字 然后获取您可以使用的月份 一周的开始 strtotime http php net st
  • 事务管理和 CDI

    我想用CDI 我通常使用Spring 开发一个应用程序来发现这项技术 我读过很多关于 CDI 的文章来了解它是如何工作的 我有一个关于事务管理的简单问题 例如数据库中的持久性 是否必须使用 EJB 3 1 来进行事务管理 或者是否可以仅使用
  • R 闪亮的数据表列用线分割

    我在闪亮的服务器中生成一个数据表 如下所示 x renderTable rownames FALSE 并有一个像这样的用户界面 tableOutput x 现在我希望每隔一列就有一个分割标记为线条 例如 a b c d e 1 2 2 3
  • 了解 XDR 规范以创建 *.x 文件

    我浏览了互联网上的几个网站 实际上想知道我们如何在规范中编写规范 x文件以生成等效函数 通常 您可以从 x 文件生成三 组 代码 消息 xdr 编码器 解码器函数 客户端存根和服务器存根 当然 您也可以手动完成 但要做到正确的工作量太大 使
  • 如何从文件名中删除文件扩展名(VBA)

    我有一个文件名变量 其中包含 Filename csv 要从我使用的路径中提取文件名 Filename Dir fStr where fStr从我选择的文件中检索 我只需要文件名而不需要 csv 我该如何删除 csv 扩大 最好使用类似的函
  • 如何使用 传递附加信息?

    我需要将文件上传到在 tomcat 上运行的 servlet 除了文件之外 我还想允许用户添加与上传的文件关联的评论 我尝试了以下方法 但没有成功
  • bluez5 中哪个工具取代了 gatttool?

    好像自从commit b1eb2c4cd057624312e0412f6c4be000f7fc3617 gatttool已被弃用 但我找不到任何信息 什么取代了 gattool 我在 gatttool 上研究过的每个 Python 蓝牙 L
  • 使用索引数据计算非结构化文档中的所有唯一单词

    我已将非结构化 HTML 文档加载到 Marklogic 中 并且 对于任何给定的文档 URI 我需要一种使用索引 词典来提供所有唯一单词的字数统计的方法 例如 假设我有以下文件 保存在 URI html example html 下 h1
  • C++ 中的可空值

    我正在用本机 C 创建数据库访问层 并且正在寻找支持 NULL 值的方法 这是我到目前为止所拥有的 class CNullValue public static CNullValue Null static CNullValue nv re
  • UITextView contentInset 在 iOS 7 上的 UITextView 中不起作用?

    我正在尝试设置一个UITextView s contentInset财产 这样做时 UIEdgeInset s top变量工作得很好 所以 self textView setContentInset UIEdgeInsetsMake 50
  • C# 中的链接属性和意外结果

    我只是快速浏览了一下本文 http blogs msdn com ricom archive 2006 09 07 745085 aspx 特别是关于为什么他选择使用结构 字段而不是类 属性 并看到这一行 属性的结果不是真正的左值 因此我们
  • 同步算法

    有什么好的同步算法参考吗 我对在多个用户之间同步以下类型数据的算法感兴趣 日历 文件 列表和大纲 我不仅仅是在寻找目录内容的同步a la rsync http en wikipedia org wiki Rsync 我有兴趣合并单个文件中的
  • 如何在 Angular2 材质表中映射动态标题和表内容

    我在带有动态表内容和标题的 Angular 材料表中遇到问题 这是我的表的 JSON 数据 let dataobj key Data1 value ENF key Data2 value 10598489700 key Data3 valu
  • 滚动RecyclerView时Cardview的数据发生变化

    我是一名初级 Android 开发者 我用 CardView 制作了一个应用程序 但是当我滚动 RecyclerView 时 它正在更改其内容 Video http sendvid com 60ui8cay http sendvid com
  • 如何强制复选框的文本不换行?

    这就是我的 LinearLayout 水平 行的样子 我希望复选框的文本在一行上 按钮不必那么宽 它们仍然有足够的空间 并且复选框文本稍微加长 我的 XML 中的内容
  • 仅列出当前目录中超过 x 天的所有文件

    我是 unix 新手 在其他问题中无法得到适当的结果 我只想列出当前目录中早于 x 天的文件 我有以下限制 仅列出当前文件夹中早于 30 的文件 天 输出不应包含目录和子目录 这应该列出类似于 ls 命令的文件 输出应该是这样的file1
  • Objective-C:何时知道您正在滥用全局变量的 SIngleton 方法

    因此 我的客户 iPhone 应用程序在过去几周内已从 5 个左右的课程增加到超过 25 个课程 对于如此大的 无论如何对于 iPhone 来说 类结构 我一直在利用 Singleton 类来访问全局变量 问题是 每当我需要访问我正在处理的
  • NSString、NSNumber 类型属性中,保留还是复制哪个更好? (NSArray 怎么样?)

    如果对象具有 type 属性NSString or NSNumber 哪个更好 retain or copy 我认为这些对象是不可变的 不能改变对象的状态 所以复制更好 我看到了为什么复制比分配 NSMutableString 并更改它更好