iPhone开发–警告Receiver ‘ClassName’ is a forward class and corresponding @interface may not exist

今天上午重构代码的时候出现了如下的警告:

Receiver ‘ClassName’ is a forward class and corresponding @interface may not exist

查看代码,也并无错误啊,编译结果也正常,思考无果,只好求救网络,在stackoverflow上找到了答案:

原因可能是你在.h文件中包含@classs yourclass.h,但是你并未在yourclass.m文件中包含#import “yourclass.h”
英文为:Maybe you have @class UIPickerTable in your .h file and you did not have #import UIPickerTable.h on your {RootViewController}.m file
呵呵,原因竟是我没包含头文件,呵呵,真是大意。编译器太“智能”了,直接编译成功,运行正常,但是提示的警告令人费解,有时我真希望编译器能准确提示错误在哪,而不是自动给我纠错,让我错的稀里糊涂。
摘录自:http://stackoverflow.com/questions/620661/receiver-classname-is-a-forward-class-and-corresponding-interface-may-not-exi

The run destination My Mac 64-bit is not valid for Running the scheme ‘*’.

XCode4.2有个一毛病,就是从版本控制器上更新代码后出现不能编译:“he run destination My Mac 64-bit is not valid for Running the scheme ‘*’.”

一般的解决方法:
先换低版本的“Deployment Target”编译,然后再换回原来的本版,如我的原来的“Deployment Target”是5.0 我换成4.3编译成功之后再换回来就轻松搞定了

iPhone开发 在xcode4.2中sdk5.0 ARC部分不开启

一般都是开启arc功能,毕竟不需要自己手动去释放,是一件比较轻松的事情。

但是我们在引用第三方的时候,基本上都是带release与retain的方法,这个时候代码编译就通不过

我们可以设置部分文件不使用arc,这样就可以兼容了。

步骤:

1.在builde phases 中,compile sources

2.选中文件,双击文件,在弹出框中输入-fno-objc-arc,

3.编译就可以通过了