- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
不久前,我开始热衷于通过代码创建/操作 View 层次结构。两者都是因为我认为 Cocoa 更具表现力并迫使我学习更多有关 Cocoa 的知识。
但我只写了 5 行代码,如果使用 IBOulet
,它们看起来会更有表现力。它在具有特定标记的 View 中查找 subview 并向其发送消息。但是我可以轻松地创建一个 IBOutlet
并且只在一行中完成。
因此,我问:创建一个 IBOutlet
是否太昂贵了?
P.S.:让我们暂时切断“可读性优于性能”。我真的很想知道这会产生什么影响。
最佳答案
IBOutlet
是 Xcode 的标记,在预处理步骤结束时会被删除。在内部,设置它归结为将单个指针分配给“支持”IBOutlet
属性的实例变量。该指针在 View 建立时分配,之后不会改变。它非常便宜。
另一方面,通过标签查找 subview 是一个运行时操作,每次查找 subview 时都需要运行。通常它很便宜,但在具有大量 subview 的 View 中也可能变得相当昂贵。
因此,我肯定会选择 IBOutlet
,因为它是一次性交易,而且因为它可以让您将代码从五行缩短为一行。
关于ios - 创建 IBOutlet 是否太昂贵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28784723/
我正在阅读 MongoDB,并试图了解它的最佳用途。我没有看到明确答案的一个问题是哪些操作便宜或昂贵,以及在什么条件下。 你能帮忙澄清一下吗? 谢谢。 最佳答案 人们经常声称 mongodb 的写入速
我正在寻找一个主要来源(或一个非常好的解释)来支持在为 iPhone 编写软件时使用 autorelease 是危险的或过于昂贵的说法。 许多开发者都提出了这种说法,我什至听说 Apple 不推荐它,
我意识到这离微优化领域太远了,但我很想知道为什么调用 DateTime.Now 和 DateTime.UtcNow 如此“昂贵”。我有一个示例程序,它运行几个场景来做一些“工作”(添加到一个计数器)并
我是一名优秀的程序员,十分优秀!