
ios开发self.变量赋值的内存管理有问,急需【耐心】看问题的大神帮忙解答。。。。50分高分悬赏
下面是我的笔记不知道是否正确,求大神指导。先上图:图一:.h文件图二:.m文件不使用self.的方法来赋值,第一种:直接赋值法:图三:不使用self.的方法来赋值,第二种...
下面是我的笔记不知道是否正确,求大神指导。
先上图:
图一:
.h文件
图二:.m文件
不使用self.的方法来赋值,第一种:直接赋值法:
图三:
不使用self.的方法来赋值,第二种:间接赋值法:
图四://使用self.的方法来赋值,第一种:直接赋值法:
图五:
图六:
//使用self.的方法来赋值,第二种:间接赋值法:
上面的都是我自己做的笔记。
请网友们帮忙检查里面的注释的说法有没有错。
还有就是回答一下图三和图六里面的写在注释里面的问题。
十分感谢。 展开
先上图:
图一:
.h文件
图二:.m文件
不使用self.的方法来赋值,第一种:直接赋值法:
图三:
不使用self.的方法来赋值,第二种:间接赋值法:
图四://使用self.的方法来赋值,第一种:直接赋值法:
图五:
图六:
//使用self.的方法来赋值,第二种:间接赋值法:
上面的都是我自己做的笔记。
请网友们帮忙检查里面的注释的说法有没有错。
还有就是回答一下图三和图六里面的写在注释里面的问题。
十分感谢。 展开
1个回答
展开全部
你的理解没有错。都是对的。
至于2个问题其实都是一样的答案:
不管使用self.与否,当把tView赋值给view2,其实就是把tView的内存地址赋值给view2,赋值后他们2个的内存地址是一样的,也就是他们是同一个对象,不是像你想的那样是2个对象。
你可以用
NSLog(@"%@", tView);
NSLog(@"%@", view2);
去看内存地址是同一个。
因为是同一个对象,所以tView和view2都是在dealloc中释放。
至于2个问题其实都是一样的答案:
不管使用self.与否,当把tView赋值给view2,其实就是把tView的内存地址赋值给view2,赋值后他们2个的内存地址是一样的,也就是他们是同一个对象,不是像你想的那样是2个对象。
你可以用
NSLog(@"%@", tView);
NSLog(@"%@", view2);
去看内存地址是同一个。
因为是同一个对象,所以tView和view2都是在dealloc中释放。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询