以QQ斗地主為例,三個人進一個房間;
有以下情景:
1》首先創(chuàng)建一個房間;(retainCount +1),再創(chuàng)建一個人(retainCount +1);
2》每個人進房間,表明這個人在用這個房間;(每進來一個人,retainCount +1);
3》當房間沒人時,代表人不在用這個房間,房間也就會消失;(每離開一個人,retainCount -1)
4》當人要換房間時,之前用的那個房間的retainCount -1;新房間被創(chuàng)建 并使用,retainCount +1+1;
5》游戲關閉時,所有的人和房間對象全部都要被銷毀;
首先是人這個類中的實現(xiàn):

Person.h

Person.m
其次是房間這個類中的實現(xiàn)

Room.h

Room.m
最后是main函數(shù)中的實現(xiàn)
