#import <Foundation/Foundation.h>
#import "REFERENCE.h"
int main (int argc, const char * argv[])
{
//POOL CREATION DEPARTMENT
NSLog(@"\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tPOOL CREATION DEPARTMENT");
NSAutoreleasePool *p=[[NSAutoreleasePool alloc] init],
*p1=[[NSAutoreleasePool alloc] init],*p2=[[NSAutoreleasePool alloc] init],
*p3=[[NSAutoreleasePool alloc] init],*p4=[[NSAutoreleasePool alloc] init];
NSLog(@"\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tRC=%d of p=%@\n\n",[p retainCount],p);
NSLog(@"RC=%d of p1=%@\n\n",[p1 retainCount],p1);
NSLog(@"RC=%d of p2=%@\n\n",[p2 retainCount],p2);
NSLog(@"RC=%d of p3=%@\n\n",[p3 retainCount],p3);
NSLog(@"RC=%d of p4=%@\n\n",[p4 retainCount],p4);
//OBJECT CREATION DEPARTMENT
NSLog(@"\n\n\n\n\n\n\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tOBJECT CREATION DEPARTMENT\n\n");
REFERENCE *rc=[[REFERENCE alloc] init],
*rc1=[[REFERENCE alloc] init],*rc2=[[REFERENCE alloc] init],
*rc3=[[REFERENCE alloc] init],*rc4=[[REFERENCE alloc] init];
[rc autorelease];[rc1 autorelease];[rc2 autorelease];
[rc3 autorelease];[rc4 autorelease];
//DELETING DEPARTMENT
NSLog(@"\n\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDELETION DEPARTMENT");
[p1 release];
NSLog(@"\n\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tRC=%d of p=%@\n\n",[p retainCount],p);
NSLog(@"RC=%d of p1=%@\n\n",[p1 retainCount],p1);
NSLog(@"RC=%d of p2=%@\n\n",[p2 retainCount],p2);
NSLog(@"RC=%d of p3=%@\n\n",[p3 retainCount],p3);
NSLog(@"RC=%d of p4=%@\n\n",[p4 retainCount],p4);
return 0;
}
O / P есть, -
[Сессия началась в 2011-07-29 12:27:11 +0530.] 2011-07-29
12: 27: 11.125 memo-mgt-referencecounter-obj-c [2529: 10b]
ОТДЕЛ СОЗДАНИЯ БАССЕЙНОВ
2011-07-29 12: 27: 11.127 memo-mgt-referencecounter-obj-c [2529: 10b]
RC = 1 из р =
2011-07-29 12: 27: 11.128 memo-mgt-referencecounter-obj-c [2529: 10b]
RC = 1 из p1 =
2011-07-29 12: 27: 11.129 memo-mgt-referencecounter-obj-c [2529: 10b]
RC = 1 из p2 =
2011-07-29 12: 27: 11.129 memo-mgt-referencecounter-obj-c [2529: 10b]
RC = 1 из p3 =
2011-07-29 12: 27: 11.130 memo-mgt-referencecounter-obj-c [2529: 10b]
RC = 1 из p4 =
2011-07-29 12: 27: 11.130 memo-mgt-referencecounter-obj-c [2529: 10b]
ОТДЕЛ СОЗДАНИЯ ОБЪЕКТА
2011-07-29 12: 27: 11.131 memo-mgt-referencecounter-obj-c [2529: 10b]
ИНИЦИИРОВАНИЕ КЛАССОВОЙ ССЫЛКИ .......... СОХРАНИТЬ СЧЕТ = 1
Object1 =
2011-07-29 12: 27: 11.132 memo-mgt-referencecounter-obj-c [2529: 10b]
ИНИЦИИРОВАНИЕ КЛАССОВОЙ ССЫЛКИ .......... СОХРАНИТЬ СЧЕТ = 1
OBJECT2 =
2011-07-29 12: 27: 11.132 memo-mgt-referencecounter-obj-c [2529: 10b]
ИНИЦИИРОВАНИЕ КЛАССОВОЙ ССЫЛКИ .......... СОХРАНИТЬ СЧЕТ = 1
OBJECT3 =
2011-07-29 12: 27: 11.133 memo-mgt-referencecounter-obj-c [2529: 10b]
ИНИЦИИРОВАНИЕ КЛАССОВОЙ ССЫЛКИ .......... СОХРАНИТЬ СЧЕТ = 1
OBJECT4 =
2011-07-29 12: 27: 11.134 memo-mgt-referencecounter-obj-c [2529: 10b]
ИНИЦИИРОВАНИЕ КЛАССОВОЙ ССЫЛКИ .......... СОХРАНИТЬ СЧЕТ = 1
OBJECT5 =
2011-07-29 12: 27: 11.145 memo-mgt-referencecounter-obj-c [2529: 10b]
ОТДЕЛ ДЕЛЕЦИИ
2011-07-29 12: 27: 11.145 memo-mgt-referencecounter-obj-c [2529: 10b]
РАЗЪЯСНИТЕ ССЫЛКУ КЛАССА .......... СОХРАНИТЕ СЧЕТ
до 0 и объект остается 4
2011-07-29 12: 27: 11.146 memo-mgt-referencecounter-obj-c [2529: 10b]
РАЗЪЯСНИТЕ ССЫЛКУ КЛАССА .......... СОХРАНИТЕ СЧЕТ
до 0 и объект остается 3
2011-07-29 12: 27: 11.147 memo-mgt-referencecounter-obj-c [2529: 10b]
РАЗЪЯСНИТЕ ССЫЛКУ КЛАССА .......... СОХРАНИТЕ СЧЕТ
до 0 и объект остается 2
2011-07-29 12: 27: 11.148 memo-mgt-referencecounter-obj-c [2529: 10b]
РАЗЪЯСНИТЕ ССЫЛКУ КЛАССА .......... СОХРАНИТЕ СЧЕТ
до 0 и объект остается 1
2011-07-29 12: 27: 11.149 memo-mgt-referencecounter-obj-c [2529: 10b]
РАЗЪЯСНИТЕ ССЫЛКУ КЛАССА .......... СОХРАНИТЕ СЧЕТ
до 0 и объект остается 0
2011-07-29 12: 27: 11.149 memo-mgt-referencecounter-obj-c [2529: 10b]
RC = 1 из р =
2011-07-29 12: 27: 11.150 memo-mgt-referencecounter-obj-c [2529: 10b]
RC = 1 из p1 =
2011-07-29 12: 27: 11.151 memo-mgt-referencecounter-obj-c [2529: 10b]
RC = 1 из p2 =
2011-07-29 12: 36: 29.419 memo-mgt-referencecounter-obj-c [2583: 10b]
RC = 1 из p3 =
sharedlibrary apply-load-rules all Присоединение к процессу 2583.
В других случаях, таких как [p1 / p2 / p3 / p4 release];
последняя строка O / P -,
2011-07-29 12: 40: 38.124 memo-mgt-referencecounter-obj-c [2623: 10b]
RC = 1 из р =
2011-07-29 12: 40: 38.124 memo-mgt-referencecounter-obj-c [2623: 10b] RC = 1 из p1 =
2011-07-29 12: 40: 38.124 memo-mgt-referencecounter-obj-c [2623: 10b] RC = 1 из p2 =
2011-07-29 12: 40: 38.125 memo-mgt-referencecounter-obj-c [2623: 10b] RC= 1 из p3 =
2011-07-29 12: 40: 38.125 memo-mgt-referencecounter-obj-c [2623: 10b] RC = 1 из p4 =
Отладчик имеетвыход со статусом 0.
Теперь мой вопрос: куда делся пул p4 в случае [p release];и какая архитектура стоит за этим