繁体   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