升级到xcode4.2 iOS sdk 5.0旧版工程编译后出现的警告解决办法
来源:互联网 发布:bloodhound js 编辑:程序博客网 时间:2024/05/20 21:23
总结:升级到xcode4.2 iOS sdk 5.0旧版工程编译后出现的警告解决办法
一、 Writable atomic property 'numberOfImages' cannot pair a synthesized setter/getter with a user defined setter/getter这个是导入了OPenFlow包产生的,
查找这两个文件的头文件声明获知,这两个属性声明是这样的:
@property int number;
@propertyint numberOfImages;
可以有以下几种方法解决:
1. 声明属性为nonatomic,即我上面的修改方法。
2. @synthesize合成用getter/setter方法(即自己手动定义getter/setter方法)。
3. 用@dynamic来代替@synthesize。
4. 直接不用属性@property。
二、'&&' within '||'
问题出处:
if (!([string characterAtIndex:0] >= '0' &&
[string characterAtIndex:0] <= '9' ||
[string characterAtIndex:0] == '.')) {
return NO;
高版本更严谨了,逻辑表达式要清晰明确,更正后
if (!(([string characterAtIndex:0] >= '0' &&
[string characterAtIndex:0] <= '9' )||
[string characterAtIndex:0] == '.')) {
return NO;
三、Property's synthesized getter follows Cocoa naming convention for returning 'owned' objects
这个出处:@synthesize newPwd;
违犯了ARC命名规则,成员变量不要以new作为前缀。
关于ARC规则,请参考http://mobile.51cto.com/iphone-313122.htm
基本的ARC使用规则:
1。代码中不能使用retain, release, retain, autorelease
2。不重载dealloc(如果是释放对象内存以外的处理,是可以重载该函数的,但是不能调用[super dealloc])
3。不能使用NSAllocateObject, NSDeallocateObject
4。不能在C结构体中使用对象指针
5。id与void *间的如果cast时需要用特定的方法(__bridge关键字)
6 。不能使用NSAutoReleasePool、而需要@autoreleasepool块
7 。不能使用“new”开始的属性名称 (如果使用会有下面的编译错误”Property’s synthesized getter follows Cocoa naming convention for returning ‘owned’ objects”)
四、warning:No previous prototype for function "randomPoint"。
你的function是在类外声明的吧,解决办法有两种:
1.在你的function前面加上static。
2.或者Project-Info -> TARGETS ->Build Settings -> LLVM GCC4.2 - Warnings组 -> Missing Function Prototypes Yes改为No
五、 warning: 'uniqueIdentifier' is deprecated
ios5.0已经弃用了uniqueIdentifier。如果要使用GUID,可以用apple推荐的其他办法。
或者更改iOS deployment target:iOS4.3及以前版本。
0 0
- 升级到xcode4.2 iOS sdk 5.0旧版工程编译后出现的警告解决办法
- 【转】总结:升级到xcode4.2 iOS sdk 5.0旧版工程编译后出现的警告解决办法
- ios:升级到Xcode4.5.1的警告处理
- 升级as后,老工程gradle文件出现"dependencies' cannot be applied to '(groovy.lang.Closure)'警告的解决办法
- XCode4编译与发布cocos2d工程,到最后出现这个问题的解决方案
- XCode4编译与发布cocos2d工程,到最后出现这个问题的解决方案
- xcode升级到8.0后Qt编译失败的解决办法
- 我把一个VC6的工程转换为VS2008的工程后,编译总是出现找不到而且不能升级vc90.pdb文件的问题,error C2471--解决办法
- ios开发 - Xcode升级后的警告、错误的解决办法
- xcode 升级到5.1后出现的错误和大量警告
- Android升级SDK后,Eclipse报错解决办法(2)——SDK18升级到SDK21
- SDK 升级后经常遇到的警告解决方法
- [Keil]ads工程移植到Keil MDK 编译出现的警告和错误解决
- Xcode升级后的警告、错误的解决办法
- Xcode升级后的警告、错误的解决办法
- ios xcode4.2升级到4.6中使用的ffmepg报错
- xcode升级到5.0.2之后,cocos2d-x-2.2下的所有工程,第一次打开时编译报错的解决办法
- android升级到5.0的出现的问题及解决办法
- 【转】MYSQL管理之主从同步管理
- Ubuntu Linux系统环境变量配置文件
- 开源学习 百度推送实战项目 友聊 (六)
- Oracle BIEE在linux下的安装
- system()函数
- 升级到xcode4.2 iOS sdk 5.0旧版工程编译后出现的警告解决办法
- 基于网络的Linux自动化安装
- HTML-使用frameset布局在frame与frame之间有1像素的空隙
- C++高性能服务框架revolver:base结构分析
- FrameLayout使用
- jquery入门简介
- Debian 7.4 安装源问题
- pdp
- MySql varchar排序,加減 CAST ,CONVERT