我收到了这个错误:
/Class/GData/OAuth/GDataOAuthViewControllerTouch.m:116:22:预期类型
该行是:
authentication:(GDataOAuthAuthentication *)auth
在这段代码中:
- (id)initWithScope:(NSString *)scope
language:(NSString *)language
requestTokenURL:(NSURL *)requestURL
authorizeTokenURL:(NSURL *)authorizeURL
accessTokenURL:(NSURL *)accessURL
authentication:(GDataOAuthAuthentication *)auth
appServiceName:(NSString *)keychainAppServiceName
delegate:(id)delegate
finishedSelector:(SEL)finishedSelector {
NSString *nibName = [[self class] authNibName];
我是新手XCode开发人员。到目前为止,我已经创建并编译了一个基于在线课程的计算器应用程序,但就是这样。
这是一个未被包含的库吗?
背景:前一位开发人员放弃了该项目,业主将项目代码发送给我。我正在尝试用新的图形替换现有的图形,并重新编译它支持iOS 6,我认为我应该能够做到没有任何编码,但是当我打开项目时遇到了这个错误和许多其他错误。我有最新的XCode。
答案 0 :(得分:0)
要寻找的一些事项:
您是否#import定义了 GDataOAuthAuthentication 类型的文件? (例如#import" GDataOAuthAuthentication.h")
是否有一个名为GDataOAuthAuthentication的变量导致编译器认为 GDataOAuthAuthentication 是一个不是类型的变量?
答案 1 :(得分:0)
:22
(以及编辑器中插入符号的位置)可以准确地告诉您错误在哪一行。在这种情况下,它会告诉你它所看到的GDataOAuthAuthentication
所在的位置。因此,隐含地,它没有认识到GDataOAuthAuthentication
是一种类型。
Objective-C仍然位于编译单元ala C上 - 每个.m文件都是单独编译的,然后批次链接在一起。如果需要,可以使用#import
(或#include
; #import
只保证同一个文件不会被包含两次),以便为每个单独的文件提供所需的任何外部定义
所以,这是一个啰嗦的方式,可以达到与里克五分钟前所做的相同的结论:你可能已经省略了必要的#import
。