objective-c - 什么时候在 Objective-C 中使用原语?

标签 objective-c primitive-types

我什么时候应该在 Objective-C 中使用原语而不是 NSValue 子类?这段代码肯定比使用 NSNumber 更干净(我认为):

    float width = sliderOne.frame.size.width;
    float totalWidth = width * 2 + 10;

但是有什么缺点吗?另外,我不需要调用 release 或任何带有原语的东西是否正确?那么,当它们超出范围时,内存会被释放吗?

最佳答案

首选基本类型。只有在必须将它们作为对象传递时才使用 NSNumber 和 NSValue 对象。

原始类型的唯一缺点是您不能将它们作为对象传递。

原始类型可以在堆栈(局部变量)或堆(w/malloc)上分配。对象只能在堆上分配,这比堆栈分配更昂贵。

关于objective-c - 什么时候在 Objective-C 中使用原语?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3191122/

相关文章:

ios - 如何获取WebView中每个请求的服务器响应代码

iphone - 用于架构 i386 的 Objective-C undefined symbol ,我不明白这个错误

iphone - 在 iOS 中进行异步调用同步的最佳实践?

ios - Block 捕获值,不会改变

Java:无符号数

objective-c - 在 UIViewController 的主视图中加载自定义 UIView

c++ - 此代码会产生未定义的行为还是仅仅是未指定的行为?

java - SonarLint 此处使用原始 boolean 表达式

java - 在 Java 中传递和编辑原始对象

java - 在 hibernate 映射中使用包装器整数类或 int 原语