2

您好,我想在我的 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”

4

1 回答 1

2

在 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>#)
于 2017-10-03T03:12:32.733 回答