我在Objective-C的几个星期开始编程,现在,我认为它的时间,我认为更多关于我的记忆管理,所以我有一对夫妇的情况下,我想对澄清。内存管理问题
NSString *myString = @"Hello, World";
如果我要到下一行做
NSString *anotherString = myString;
是它得到复制?或者是另一个字符串只是一个指向myString的指针?如果它只是一个指针我怎么会让anotherString的myString的副本都有自己的内存?
什么,如果我是
[anotherString release];
实际上得到释放什么,只是anotherString,或做的myString走吗?
然后如果我做
anotherString = nil;
是否实际释放内存,并使用或者它仍然有空分配的内存空间?显然,指针仍然可以使用。它对myString有什么作用?
这将真正帮助我成为妥善管理的内存更好,而不是仅仅[object release];
随机导致崩溃。
非常感谢你事先谁回复。
非常感谢你,为我解决了这个问题。 – Weston