繁体   English   中英

如何从Swift文件调用用目标C编写的Web服务

[英]How to call web service written in objective c from swift file

我有一个用目标C编写的Web服务。我希望它从swift文件访问它。 我该如何实现? 到目前为止,我的尝试:

Web服务

#import <Foundation/Foundation.h>

typedef void(^WebServiceCompletionHandler)(id result,BOOL isError,NSString *strMsg);

@interface Webservice : NSObject
@property(strong,nonatomic) NSString *strURL;

-(void)registerWithFullName:(NSString*)strFullName ContactNumber:(NSString*)strContactNumber WithCompletionHandler:(WebServiceCompletionHandler)handler;

@end

Web服务

@implementation Webservice

-(id)init
{
    if (self=[super init])
    {
        self.strURL=@"www.abc.com/registration";
    }
    return self;
}

-(void)registerWithFullName:(NSString*)strFullName ContactNumber:(NSString*)strContactNumber WithCompletionHandler:(WebServiceCompletionHandler)handler{

         //Implementation
}

现在,我要在其中调用webservice的swift文件。

注册.swift

override func viewDidLoad {

let service  = Webservice.init()
heyWeb.registerWithfullName("Test", contactNumber: "+1039383838383", withCompletionHandler: { (result, isError, strMsg) -> Void in

                })
}

但是在运行项目时出现以下错误。

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_Webservice", referenced from:
      type metadata accessor for __ObjC.Webservice in Register.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

谁能帮我解决问题?

创建一个名称为-Bridging-Header.h的桥文件,并将您的objc文件导入该桥文件中,最后转到项目设置,然后在Objective C桥头中提供该桥文件的路径,如下所示Sample-Bridging-Header.h 在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM