Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/120.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Xcode接口错误,应为方法体_Ios_Objective C_Xcode - Fatal编程技术网

Ios Xcode接口错误,应为方法体

Ios Xcode接口错误,应为方法体,ios,objective-c,xcode,Ios,Objective C,Xcode,我将一个ios项目从一台机器复制到我的机器上,我得到两个错误 缺少方法声明的上下文 期望方法体 我已经检查了搜索路径,一切正常。此外,实现文件还包含方法 #import <Foundation/Foundation.h> #import <AFNetworking/AFHTTPSessionManager.h> @interface HumeApiClient : AFHTTPSessionManager +(HumeApiClient *)SharedClient;

我将一个ios项目从一台机器复制到我的机器上,我得到两个错误

  • 缺少方法声明的上下文
  • 期望方法体
  • 我已经检查了搜索路径,一切正常。此外,实现文件还包含方法

    #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