首页 > 代码库 > oc内存回收问题,求解

oc内存回收问题,求解

技术分享

Person.h

#import <Foundation/Foundation.h> @interface Person : NSObject @end

Person.m

#import "Person.h" @implementation Person - (void)dealloc{    NSLog(@"Person dealloc:%p",self);} @end

main.m

#import <Foundation/Foundation.h>#import "Person.h" Person * test1(); int main(int argc, const char * argv[]) {    Person *p1 = test1();    NSLog(@"p1:%p",p1);    p1 = nil;     Person *p2 =test1();    NSLog(@"p2:%p",p2);    p2 = nil;     Person *p3 =test1();    NSLog(@"p3:%p",p3);    p3 = nil;     return 0;} Person * test1(){    Person *p1 = [Person new];    return p1;}

在ARC模式下,上面代码执行之后,只看到p2和p3对象调用dealloc方法了,p1没调用,请问是什么原因

在ARC模式下,上面代码执行之后,只看到p2和p3对象调用dealloc方法了,p1没调用,请问是什么原因

在ARC模式下,上面代码执行之后,只看到p2和p3对象调用dealloc方法了,p1没调用,请问是什么原因

在ARC模式下,上面代码执行之后,只看到p2和p3对象调用dealloc方法了,p1没调用,请问是什么原因

在ARC模式下,上面代码执行之后,只看到p2和p3对象调用dealloc方法了,p1没调用,请问是什么原因

在ARC模式下,上面代码执行之后,只看到p2和p3对象调用dealloc方法了,p1没调用,请问是什么原因

oc内存回收问题,求解