簡體   English   中英

如何在我的 Swift 類中使用 Objective-c 方法

[英]How use Objective-c method in my Swift Class

你好,我想在我的 swift 類中使用這個方法,已經創建了標題,但我只能設法訪問該方法(setApiKey)。 這是目標 c 中的代碼

#import <Foundation/Foundation.h>

@class CLQResponseHeaders, CLQError;
@class CLQToken;

NS_ASSUME_NONNULL_BEGIN
@interface Culqi : NSObject

/**
 * gets singleton object.
 * @return singleton
 */
+ (Culqi *_Nonnull)sharedInstance;

+ (void)setApiKey:(NSString *_Nonnull)apiKey;

#pragma mark - Tokens

- (void)createTokenWithCardNumber:(NSString *_Nonnull)cardNumber
                              cvv:(NSString *_Nonnull)cvv
                  expirationMonth:(NSString *_Nonnull)expirationMonth
                   expirationYear:(NSString *_Nonnull)expirationYear
                            email:(NSString *_Nonnull)email
                         metadata:(NSDictionary * _Nullable)metadata
                          success:(void (^_Nullable)(CLQResponseHeaders *_Nonnull responseHeaders, CLQToken * _Nonnull token))success
                          failure:(void (^_Nullable)(CLQResponseHeaders *_Nonnull responseHeaders, CLQError * _Nonnull businessError, NSError * _Nonnull error))failure;

@end
NS_ASSUME_NONNULL_END

我的快速代碼是

import Foundation
import UIKit

class RegisterController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        //THIS METHOD CALL SUCCESS
        Culqi.setApiKey("")


    }

}

更新:方法 setApiKey 是可訪問的,發生的情況是我無法調用方法“createTokenWithCardNumber”

在 Objective-C 類的頭文件中聲明函數/方法setApiKey

// Move following line/code to header file (.h) of your objective-c class
+ (void)setApiKey:(NSString *_Nonnull)apiKey;

您的方法createTokenWithCardNumber是一個實例方法(不是類方法),您需要創建類的實例才能訪問它。 嘗試這個,

let c = Culqi()
c.createTokenWithCardNumber(#<your parameter arguments>#)

// or use shared instance
Culqi.sharedInstance().createTokenWithCardNumber(#<your parameter arguments>#)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM