我应该将所有原始数据类型初始化为Obj-C中的“安全”值吗?

时间:2009-10-18 11:27:03

标签: objective-c primitive-types

是否有任何原始数据类型可以安全地不进行初始化?

像CGPoints或NSRects这样的结构怎么样?

1 个答案:

答案 0 :(得分:7)

取决于变量的存储位置。该语言指定所有对象在alloc上都为零,这意味着所有的ivars将被填充为0。对于支持存储为0的任何原始类型都有意义,那么它是非常安全的。例如:

@interface LGDemo : NSObject {
  CGPoint point;
  NSRect rect;
}
@end

不明确地初始化点或矩形是完全安全的,在分配对象后,它们将分别为{0.0,0.0}和{0.0,0.0,0.0,0.0}。

相关问题