2009-08-23 61 views
4

是否有任何記憶歸零的Objective-C的承諾代表了我當我第一次分配一個類的實例?我看到很多Objective-C代碼,默認情況下它們的銷售點是nil。如果我也這樣做,我是以虛假的假借爲基礎來做這種行爲的?Objective-C類實例在alloc處歸零?

回答

8

NSAllocateObject返回的存儲器足夠大以包括在類的所有實例變量的塊;其isa指針被設置爲分類,並且塊的其餘部分被填爲0 +[NSObject alloc]呼叫+[NSObject allocWithZone:]然後調用NSAllocateObject內部。

8

是的,所有alloced對象被清零。見NSObject alloc documentation。這是由語言保證的,所以這樣做是完全安全的,事實上,將成員設置爲0將是多餘的。