作者angelyin (等待.微笑)
看板MacDev
标题[问题] 关於memory management的问题
时间Mon Jul 6 00:12:25 2009
各位前辈大家好
最近开始研究objective-c
想写跟iPhone有关的程式
在记忆体管理方面碰到了以下的问题
main.n的部分程式码如下:
int main(int argc, char *argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSString *str1 = @" string1!";
NSString *str2 = [NSString stringWithString: @" string2!"];
printf("str1 retain count: %x\n", [str1 retainCount]);
printf("str2 retain count: %x\n", [str2 retainCount]);
......
}
output:
str1 retain count:7fffffff
str2 retain count:7fffffff
我翻了书和网路上的文章
output为
str1 retain count:ffffffff
str2 retain count:1
想请问
stringWithString不是会自动把object放入autorelease pool里面吗?
那retain count的值不就应该是1?
为什麽我的结果跑出来不太对?
请问我的观念是否有错?
还是我的程式哪里有盲点?
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.210.169