簡體   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