Ios Xcode接口错误,应为方法体
我将一个ios项目从一台机器复制到我的机器上,我得到两个错误Ios Xcode接口错误,应为方法体,ios,objective-c,xcode,Ios,Objective C,Xcode,我将一个ios项目从一台机器复制到我的机器上,我得到两个错误 缺少方法声明的上下文 期望方法体 我已经检查了搜索路径,一切正常。此外,实现文件还包含方法 #import <Foundation/Foundation.h> #import <AFNetworking/AFHTTPSessionManager.h> @interface HumeApiClient : AFHTTPSessionManager +(HumeApiClient *)SharedClient;
#import <Foundation/Foundation.h>
#import <AFNetworking/AFHTTPSessionManager.h>
@interface HumeApiClient : AFHTTPSessionManager
+(HumeApiClient *)SharedClient;
-(void)AddAccessTokenInHeader;
@end
@implementation HumeApiClient
+(HumeApiClient *)SharedClient
{
static HumeApiClient *sharedClient = nil;
static dispatch_once_t oncePredicate;
dispatch_once(&oncePredicate, ^{
sharedClient = [[self alloc]initWithBaseURL:[NSURL URLWithString:[[NSUserDefaults standardUserDefaults] objectForKey:@"defaultUrl"]]];
});
return sharedClient;
}
-(instancetype)initWithBaseURL:(NSURL *)url
{
self = [super initWithBaseURL:url];
if (!self)
{
return nil;
}
self.responseSerializer = [AFJSONResponseSerializer serializer];
self.requestSerializer = [AFJSONRequestSerializer serializer];
return self;
}
-(void)AddAccessTokenInHeader{
[self.requestSerializer setValue: [[NSUserDefaults standardUserDefaults] valueForKey:ACCESSTOKEN] forHTTPHeaderField:@"Access_Token"];
}
@end
#导入
#进口
@接口HumeAppClient:AFHTTPSessionManager
+(HumeAppClient*)共享客户;
-(无效)添加一个Inheader;
@结束
@实现HumeAppClient
+(HumeAppClient*)共享客户端
{
静态HumeAppClient*sharedClient=nil;
静态调度一次预测;
一次发送(一次预测)^{
sharedClient=[[self-alloc]initWithBaseURL:[NSURL URLWithString:[[NSUserDefaults standardUserDefaults]objectForKey:@“defaultUrl”]];
});
返回共享客户;
}
-(instancetype)initWithBaseURL:(NSURL*)url
{
self=[super initWithBaseURL:url];
如果(!self)
{
返回零;
}
self.responseSerializer=[AFJSONResponseSerializer序列化程序];
self.requestSerializer=[AFJSONRequestSerializer序列化程序];
回归自我;
}
-(无效)AddAccessTokenInHeader{
[self.requestSerializer设置值:[[NSUserDefaults standardUserDefaults]valueForKey:ACCESSTOKEN]用于HttpHeaderField:@“Access_Token”];
}
@结束
您缺少接口的实现,请参见以下示例:
@interface SampleClass:NSObject
/* method declaration */
- (int)max:(int)num1 andNum2:(int)num2;
@end
@implementation SampleClass
/* method returning the max between two numbers */
- (int)max:(int)num1 andNum2:(int)num2 {
/* local variable declaration */
int result;
if (num1 > num2) {
result = num1;
} else {
result = num2;
}
return result;
}
根据评论,我了解到问题中同时表示了.h和.m文件。 要正确工作,它们应该如下所示: h 这样它应该能工作
此外,我建议您不要将方法的名称大写。实现文件已经存在,我在这个文件中发现了两个错误,您能提供吗?-只是签名应该很好这看起来很好.h文件呢?您能提供吗?.h文件是一个名为inteface和.m实现的文件,您复制了这些文件的所有内容?没有循环导入等?../../../AFNetworking/AFNetworking/AFHTTPSessionManager.h-预期的标识符或“(”。将“#import”替换为@import AFNetworking;(这对我有用-但我已将其安装为pod,因此我不能100%确定它在其他环境中也能工作)
#import <Foundation/Foundation.h>
#import <AFNetworking/AFHTTPSessionManager.h>
@interface HumeApiClient : AFHTTPSessionManager
+(HumeApiClient *)SharedClient;
-(void)AddAccessTokenInHeader;
@end
#import "HumeApiClient.h"
@interface HumeApiClient()
@end
@implementation HumeApiClient
+(HumeApiClient *)SharedClient {
[...]
}
-(instancetype)initWithBaseURL:(NSURL *)url {
[...]
}
-(void)AddAccessTokenInHeader{
[...]
}
@end