【发布时间】:2011-09-26 07:17:53
【问题描述】:
我不知道如何删除指针而不是对象,例如: 我有一些课:
@interface model : NSObject {
NSMutableArray *tab;
}
当我这样做时:
model1 = [[model alloc]init];
NSMutableArray * tab2 = [model1 tab];
...
some operations
...
我只想删除指向我的选项卡 *tab2 的指针,但是当我释放 tab2 时,选项卡也在释放。在 C++ 中,当我清除时,我会这样做:
int a =10;
*w = &a;
当我删除一个指针时做
delete w;
变量 a 仍在内存中,没关系。在obj-c中我应该怎么做才能只删除一个指针?
【问题讨论】:
-
你最好不要
delete指向一个你没有new的变量的指针! -
如果您还没有这样做,您需要阅读 Apple 的 Objective-C Memory Management Guide。尤其要保留指向Basic Memory Management Rules 的链接。这是了解 Objective-C 最重要的事情之一。
标签: iphone objective-c pointers release