文档章节

MRC模式下声明property属性为strong可能不会报错

yoyoso
 yoyoso
发布于 2015/03/07 10:24
字数 219
阅读 449
收藏 0

定位了项目的一个问题,居然与strong有关系。首先说明一下项目是MRC内存管理的。一个NSDictionary变量在赋值一段时间后再次访问就会出现EXC_BAD_ACCESS错误,打印日志看了一下地址没变但是内容已经看不到,估计是野指针了,显然内存管理出现问题了。看这个变量的定义,是加了strong属性的,说明对应的m文件是ARC内存管理的。再在Build Phase里看这个文件有没有加-fobjc-arc选项,居然没有,加上就好了。

对于这个问题,我想着Xcode应该会对MRC模式下使用strong属性报错,没想到连个警告都没有。前任开发者引用开源代码留下的坑,哎。。

© 著作权归作者所有

共有 人打赏支持
yoyoso
粉丝 48
博文 125
码字总数 44507
作品 0
南京
高级程序员
iOS基础·属性的修饰词与setter的关系(@property、@synthesize、@dynamic、retain、assign、copy、weak、strong、nonatomic、atomic、readonly、readwrite等修饰词与setter、getter等存取方法之间的关系)

很多人讲属性修饰词的时候,喜欢从字面或者定义的角度介绍它们间的区别。这篇文章,我们侧重从修饰词对setter方法的影响直接展示区别。 1. 实例变量:命名区别于全局变量和局部变量 1.1 命名...

陈满iOS
2017/12/11
0
0
iOS中结合代码看内存管理(一)

阅读本文前,建议移步先去了解下内存管理相关知识。 1: iOS内存管理机制(百度goole大法可以获得很多推荐)。 2: iOS中的动态内存分配 3: 堆栈的原理:堆栈 百科 1:自动释放池的常见问题: ...

Nlinger
2017/06/07
0
0
iOS经典面试题总结--内存管理

我根据自己的情况做了一下总结,答案是我总结的,如有答的不好的地方,希望批评指正以及交流,谢谢! 内存管理 1.什么是ARC? ARC是automatic reference counting自动引用计数,在程序编译时...

刘星石
2016/03/04
20
0
IOS--内存管理 (retain, assign,copy, strong,weak)

引用计数:为了方便管理内存,oc引入了饮用计数,基本原则:谁创建,谁释放 ! 目的:IOS的对象都继承于NSObject, 该对象有一个方法:retainCount ,内存引用计数。 引用计数在很多技术都用到...

Mark_Jiang
2016/01/27
106
0
ARC声明属性关键字详解(strong,weak,unsafe_unretained,copy)

iOS5中加入了新知识,就是ARC,其实我并不是很喜欢它,因为习惯了自己管理内存。但是学习还是很有必要的。 在iOS开发过程中,属性的定义往往与retain, assign, copy有关,我想大家都很熟悉了,...

Daniel_s
2016/01/04
105
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

7 个致命的 Linux 命令

导读 如果你是一个 Linux 新手,在好奇心的驱使下,可能会去尝试从各个渠道获得的命令。以下是 7 个致命的 Linux 命令,轻则使你的数据造成丢失,重则使你的系统造成瘫痪,所以,你应当竭力避...

问题终结者
今天
0
0
设计模式:工厂方法模式(工厂模式)

工厂方法模式才是真正的工厂模式,前面讲到的静态工厂模式实际上不能说是一种真正意义上的设计模式,只是一种变成习惯。 工厂方法的类图: 这里面涉及到四个种类: 1、抽象产品: Product 2、...

京一
今天
0
0
区块链和数据库,技术到底有何区别?

关于数据库和区块链,总会有很多的困惑。区块链其实是一种数据库,因为他是数字账本,并且在区块的数据结构上存储信息。数据库中存储信息的结构被称为表格。但是,区块链是数据库,数据库可不...

HiBlock
今天
0
0
react native 开发碰到的问题

react-navigation v2 问题 问题: static navigationOptions = ({navigation, navigationOptions}) => ({ headerTitle: ( <Text style={{color:"#fff"}}>我的</Text> ), headerRight: ( <View......

罗培海
今天
0
0
Mac Docker安装流程

久仰Docker大名已久,于是今天趁着有空,尝试了一下Docker 先是从docker的官网上下载下来mac版本的docker安装包,安装很简易,就直接拖图标就好了。 https://www.docker.com/products/docker...

writeademo
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部