Assigning retained object to weak property object will be released after assignment

在ARC中,如果添加了weak的属性。初始化了相关的object然后给这个属性赋值的时候就会看到Xcode给出这个提示。

这个时候可以这么处理:在别的地方已经retain这个object的引用。

@property (nonatomic, weak) KGModalContainerView *containerView;
...
-(void)viewDidLoad {
    [super viewDidLoad];
    KGModalContainerView *myContainerView = [[KGModalContainerView alloc] initWithFrame:containerViewRect]; // This is a strong reference to that view
    [self.view addSubview:myContainerView]; //Here self.view retains myContainerView
    self.containerView = myContainerView; // Now self.containerView has weak reference to that view, but if your self.view removes this view, self.containerView will automatically go to nil.

 // In the end ARC will release myContainerView, but it's retained by self.view and weak referenced by self.containerView
}

在这个例子中,先初始化了ContainerView。然后把这个View放到self.view的子View中,也就是retain了ContainerView。

然后再把ContainerView赋值给weak属性里。

各位都知道了吧。

欢迎加群互相学习,共同进步。QQ群:iOS: 58099570 | Android: 330987132 | Go:217696290 | Python:336880185 | 做人要厚道,转载请注明出处!http://www.cnblogs.com/sunshine-anycall/p/3436659.html

时间: 2024-10-18 22:15:09

Assigning retained object to weak property object will be released after assignment的相关文章

c# 中括号里面的内容-c#中的property object []里面的内容是什么????怎么用

问题描述 c#中的property object []里面的内容是什么????怎么用 namespace Tccm { [DefaultPropertyAttribute("SaveOnClose")] //.中括号里面的.....这里是什么属性? class AppSet { private Size windowSize = new Size(100,100); . . . private string pin [TypeConverter(typeof(FileNameConve

多线程 同步 信号量-如果synchronized(new Object){} 和 Object obj = new Object(); synchronized(obj){}的区别是什么?

问题描述 如果synchronized(new Object){} 和 Object obj = new Object(); synchronized(obj){}的区别是什么? 如果synchronized(new Object){} 和 Object obj = new Object(); synchronized(obj){}的区别是什么? 主要是在synchronized()中放new Object 是四个线程一起,而放obj对象是一个一个的执行,这是什么原因呢? 代码: class X

java object用法-Java中object类的用法

问题描述 Java中object类的用法 class Student { String name; int age; public boolean equals (Object obj) { Student st = null; if(obj instanceof Student) st =(Student)obj; else return false; if(st.name==this.name&&st.age==this.age) return true; else return fa

JS如何解析json数据,原数据类型是Map<Object,List<Object>>

问题描述 JS如何解析json数据,原数据类型是Map<Object,List<Object>> 在js中如何解析出其中的值? 使用jquery的each函数如何解析?

请教:Map&amp;amp;lt;Object,List&amp;amp;lt;object&amp;amp;gt;类型在struts2中遍历问题

问题描述 <s:iterator value="#request.ml.keySet()" id="per"> <s:property value="#per.Name" /> <s:iterator value="#request.ml.get(#per)" id="l"> <s:property value="l.Name" /> &l

iOS开发系列--无限循环的图片浏览器

概述 UIKit框架中有大量的控件供开发者使用,在iOS开发中不仅可以直接使用这些控件还可以在这些控件的基础上进行扩展打造自己的控件.在这个系列中如果每个控件都介绍一遍确实没有必要,所谓授人以鱼不如授人以渔,这里会尽可能让大家明白其中的原理,找一些典型的控件进行说明,这样一来大家就可以触类旁通.今天我们主要来看一下UIScrollView的内容: UIView UIScrollView 实战--图片浏览器 UIView 在熟悉UIScrollView之前很有必要说一下UIView的内容.在上一篇

详解iOS应用开发中的ARC内存管理方式_IOS

提示:本文中所说的"实例变量"即是"成员变量","局部变量"即是"本地变量" 零.简介ARC是自iOS 5之后增加的新特性,完全消除了手动管理内存的烦琐,编译器会自动在适当的地方插入适当的retain.release.autorelease语句.你不再需要担心内存管理,因为编译器为你处理了一切 注意:ARC 是编译器特性,而不是 iOS 运行时特性(除了weak指针系统),它也不是类似于其它语言中的垃圾收集器.因此 ARC 和

iOS开发中使用UIScrollView实现无限循环的图片浏览器_IOS

一.概述 UIKit框架中有大量的控件供开发者使用,在iOS开发中不仅可以直接使用这些控件还可以在这些控件的基础上进行扩展打造自己的控件.在这个系列中如果每个控件都介绍一遍确实没有必要,所谓授人以鱼不如授人以渔,这里会尽可能让大家明白其中的原理,找一些典型的控件进行说明,这样一来大家就可以触类旁通.今天我们主要来看一下UIScrollView的内容: UIView UIScrollView 实战--图片浏览器 二.UIView 在熟悉UIScrollView之前很有必要说一下UIView的内容.

一个实现了数据绑定的树

数据 ///如未特别说明,本人所发表的技术文章都为原创, 任何人引用都请注明出处,并包含本声明///作者: CSDN网名alias88,邮件:alias88@163.com,QQ:63343 欢迎加我 :)   此树可以绑定到数据源,意味着可随着绑定管理器同步操作,   例如position改变自动选择结点,反过来亦然,选择不同的结点将改变绑定管理器的position,而且数据操作也能同步于绑定管理器,您在DataGrid中的改变将即时反映在树中...... 还有一个特点,对数据结构没有要求,它