2014-07-20 55 views
-1

嗨,作爲一個初學者我想知道NSZombie,有沒有人可以解釋NSZombie的使用,以及一些示例代碼?它如何處理崩潰,它以何種方式函數,提前致謝什麼是NSZombie如何實現這個功能

+0

在這裏有一些關於StackOverflow的現存問題。 試試這些我們的開始:http://stackoverflow.com/questions/4168327/what-is-nszombie http://stackoverflow.com/questions/5386160/how-to-enable-nszombie-in-xcode –

回答

0

NSZombie導致對象在被釋放後仍保留在內存中。如果有人叫他們,他們不會被解除分配,而會被標記爲殭屍並引發異常。所以在ARC之前的世界裏,如果你這樣做了:

NSString *someString = [[NSString alloc] initWithString:@"String to copy"]; 
[someString release]; 

NSLog(@"%@", someString); 

然後日誌會引發一個異常,你會立刻知道是誰在進行無效調用。沒有殭屍的風險是,其他一些對象 - 可能是其他一些字符串 - 將獲得與someString相同的內存存儲空間,並且您的調用可能不會發生故障,或者可能有其他任何未定義的結果。

要運行殭屍啓用只需編輯您的項目目標並勾選「啓用殭屍對象」。