在Objective-C中多次调用-init

Pat*_*rik 7 cocoa objective-c

当你在一个对象上多次调用-init时会发生什么,是否有一些隐藏的副作用?你能否假设没有分配额外的内存?有什么事情会违背这样的想法吗?

bbu*_*bum 31

-init多次调用未定义,不受支持,并将导致错误,崩溃和其他意外行为.

许多类 - NSString,NSArrayNSDictionary- 例如 - 在调用方法时实际上并没有分配任何东西+alloc.直到-init*调用各种方法之一,对象才有足够的上下文来找出做出任何要求的最有效方法.