New*_*bee 2 c pointers objective-c
我知道这是一个非常基本的问题.我需要澄清一些内存问题.这是我的疑问:
int *p = malloc (50); // will allocate 50 bytes and it is pointed by p.
// Freeing C pointer-->
free(p);
Run Code Online (Sandbox Code Playgroud)
Objective-C指针:
ClassAobject *objA = .... // allocated ClassAobject..
// Freeing obj-C pointer--->
objA = nil // Is it enough??? will it release all ivars memory properly..
Run Code Online (Sandbox Code Playgroud)
如果是这样的情况,如果我在目标C类中有一些C指针?如何在ARC中处理这个问题
小智 9
标题不反映你的要求.C指针和"Objective-C指针"之间没有区别.真的,他们只是简单的指针.
您要求的是它们的正确用法之间的区别.如果指针指向Objective-C对象,那么在MRC下,您必须这样做
[obj release];
Run Code Online (Sandbox Code Playgroud)
减少其引用计数(可能会释放它).在ARC下,将指针设置nil为足够(如示例中所示).