在ios下提示“@synthesize of ‘weak’ property is only allowed in ARC or GC mode”
现在的项目是手动内存管理,所以在引入第三方资源库时候,很多资源库更新以后都开始使用arc进行编码,这样就导致两种代码风格不一致,有的时候可能开发者也没有注意到这些问题,反正用的时候也没有报错,就直接使用了;但是有的时候,因为arc编码中用到了新的属性修饰符,例如weak,这时候在手动管理内存的代码中就不能编译通过,报错的内容就是:@synthesize of ‘weak’ property is only allowed in ARC or GC mode,这就是引入的arc代码在项目中的冲突,有一种解决办法就是把资源代码中的weak修饰符改为assign,但是这种方法毕竟是把别人写的代码给改了,有的时候往往会出现闪退、崩溃的问题。
比较好的解决办法就是项目配置文件->Build Phrases->Complie Sources,找到出现问题的资源库文件(比如weak修饰符所在的文件),双击Complie Files中的该文件,在空白行中写入-fobjc-arc,这样就可以有效防止该冲突。反过来有的时候,在arc代码中引入手动管理内存的代码,我们在Complie Files中为新增的资源文件增加-fno-objc-arc,这样就避免了手动管理内存的代码在arc代码中的冲突。
在ios下提示“@synthesize of ‘weak’ property is only allowed in ARC or GC mode”的更多相关文章
- IOS开发中ARC下的assign和weak区别
在ARC中的assign和weak可以说非常相像,导致有很多人误以为他们是一摸一样的,在任何时候都可以划等价,但事实却不是这样. 在群里,有人问,id类型的delegate属性到底是用assign还是 ...
- Objective-C中,ARC下的 strong和weak指针原理解释
Objective-C中,ARC下的 strong和weak指针原理解释 提示:本文中所说的"实例变量"即是"成员变量","局部变量"即是& ...
- 关于@property()的那些属性及ARC简介【nonatomic,atomic,assign,retain,strong,weak,copy。】
@property()常用的属性有:nonatomic,atomic,assign,retain,strong,weak,copy. 其中atomic和nonatomic用来决定编译器生成的gette ...
- iOS下OpenCV开发用OC还是Swift
本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 其实标题中这个问题并不准确,准确的说法应该是iOS下的OpenCV开发是使用OC还是Swift ...
- iOS retain、strong、weak、assign
iOS retain.strong.weak.assign strong与weak是由ARC新引入的对象变量属性xcode 4.2(ios sdk4.3和以下版本)和之前的版本使用的是retain和a ...
- iOS下JS与OC互相调用(五)--UIWebView + WebViewJavascriptBridge
WebViewJavascriptBridge是一个有点年代的JS与OC交互的库,使用该库的著名应用还挺多的,目前这个库有7000+star.我去翻看了它的第一版本已经是4年前了,在版本V4.1.4以 ...
- 李洪强iOS下的实际网络连接状态检测
iOS下的实际网络连接状态检测 序言 网络连接状态检测对于我们的iOS app开发来说是一个非常通用的需求.为了更好的用户体验,我们会在无网络时展现本地或者缓存的内容,并对用户进行合适的提示.对绝大部 ...
- iOS下的WiFi开发
iOS下Wi-Fi开发需要添加依赖库SystemConfiguration.framework,在需要使用Wi-Fi信息的控制器下引入头文件#import <SystemConfiguratio ...
- iOS下JSON反序列化开源库
iOS下JSON字符串反序列化成对象.在正式的项目中比較常见.例如以下几个经常使用开源库.能够依据个人喜好任选其一: 1. JSONModel: https://github.com/icanzilb ...
随机推荐
- System.exit(1)
用于退出java的虚拟机,也是finally块中语句不被执行的唯一情况
- json(http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/24/3096437.html)
http://www.cnblogs.com/lanxuezaipiao/archive/2013/05/24/3096437.html
- EventBus的一个bug??
今天遇到了一个很奇怪的问题,activity A打开B,A和B中都注册了eventbus,都会接一个list的参数,当然两个list的参数不同,居然会报一个异常,A中List的参数会变成B的类型,错误 ...
- 11.tftp和nfs服务器
宿主机产生嵌入式软件的机器 运行程序的是目标机上运行 基于网络的下载 目标机通过tftp下载到目标机 1. 安装tftp依赖xinetd [root@cfm880 Packages]# rpm -iv ...
- EXT学习之——Ext两个js之间的传参
A 的js访问 B的js,并将A选择的guid的行传到 B的 js进行处理事项 A 的js 的写法var receiverFrom = new xxx.xxx子js方法体名 ({ parentCm ...
- 百度地图api简单使用方法
百度地图API的使用方法 百度地图API 开始学习百度地图API最简单的方式是看一个简单的示例.以下代码创建了一个520x340大小的地图区域并以天安门作为地图的中心: 1. <html&g ...
- noip2007解题报告
T1.统计数字 给出n个数,统计每个数字出现的个数. n小,快排解决. T2.字符串的展开 给出一个字符串,其中形如 d-h,4-9之类的就展开,(前面比后面小的保留,相等也是),三个参数,P1表示大 ...
- MySQL表分区技术
MySQL表分区技术 MySQL有4种分区类型: 1.RANGE 分区 - 连续区间的分区 - 基于属于一个给定连续区间的列值,把多行分配给分区: 2.LIST 分区 - 离散区间的分区 - 类似于按 ...
- VC++ WINDOWS自定义消息范围
WINDOWS自定义消息WM_USER和WM_APP WM_USER常量是Windows帮助应用程序定义私有窗口类里的私有消息,通常使用WM_USER+一个整数值,但总值不能超过0x7FFF(十进制: ...
- HTML5基础总结
HTML5是HTML语言的第五次重大版本升级,新增了如下内容:1.新增<video>.<audio>标签在页面上直接播放多媒体资源;2.新增<input>标签的ty ...