Closed aijun198600 closed 10 years ago
如果可以的话,能出一个Xcode 6的文档,如果能使用StoryBoard作为界面,那更好了,感激不尽!
我在XCode 6上刚刚测试了,但是没有遇到你说的问题(hprose的hprose-objc里面有个例子,直接运行那个不会出错)。objc_msgSend的定义是:
id objc_msgSend(id self, SEL op, ...)
我看Apple Developer的文档没有特别针对XCode 6的版本有什么改动,所以我觉得这地方应该不需要特别的强制类型转换吧。
哦,我发现问题了,原来在 LLVM 6.0 中增加了一个 OBJC_OLD_DISPATCH_PROTOTYPES,默认配置在 Apple LLVM 6.0 - Preprocessing 中的 Enable Strict Checking of objc_msgSend Calls 中为Yes,所以就会出这个错误了。所以你的修改是对的。
code:
import <Foundation/Foundation.h>
import "Hprose.h"
@protocol Hello
int main(int argc, const char * argv[]) { @autoreleasepool { id client = [HproseHttpClient client:@"http://www.hprose.com/example/"]; id helloClient = [client useService:@protocol(Hello)];
NSLog(@"%@", [helloClient hello:@"World"]);
}
return 0;
}
error(HproseClient.m):objc_msgSend(delegate, onError, _name, e); Semantic Issue:Too many arguments to function call,expected 0,hava 4