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

wil*_*lc2 2 objective-c primitive-types

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

结构如CGPoints或NSRects怎么样?

Lou*_*arg 7

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

@interface LGDemo : NSObject {
  CGPoint point;
  NSRect rect;
}
@end
Run Code Online (Sandbox Code Playgroud)

在对象被分配之后,不显式地初始化点或矩形是完全安全的,它们将分别为{0.0,0.0}和{0.0,0.0,0.0,0.0}.