2012-05-14 78 views
0

我已經在secondObject的幫助下創建了一個firstObject。現在我發佈了secondObject第一個對象會發生什麼。 這是我的代碼。這個對象會發生什麼

SecondObject *secondObject = [[SecondObject alloc]init]; 
FirstObject *firstObject = [[FirstObject alloc]initWithSecondObject:secondObject]; 
[secondObject doSomethings]; 
[firstObject doSomeThings]; 
[secondObject release]; 

回答

2

除非secondObject具有firstObject它釋放的引用,什麼都不會發生firstObject

+0

謝謝,這對我很有幫助。 – ohmprakash

1

如果firstObject需要參考保持到secondObject超越它的initWithSecondObject:方法,它應該保留secondObject。這將阻止secondObject被釋放,即使您在上面的代碼中釋放它。當你釋放一個物體時,你會說:「我完成了這個。」但是,如果沒有其他對象當前正在使用該對象,則該對象將被解除分配(由保留計數確定,而不是您應該查看該對象)。

+1

感謝它幫助我很多。 – ohmprakash