我什么时候应该在 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/