音频套件:AKFFTTap“';初始';“不可用”;在Objective-C中

音频套件:AKFFTTap“';初始';“不可用”;在Objective-C中,objective-c,swift,xcode,audiokit,Objective C,Swift,Xcode,Audiokit,当我试图在Objective-C中创建AKFFTap的新实例时,它声称init函数不可用 AKFFTTap *tap = [[AKFFTTap alloc] init]; 这一行给了我一个错误:“对于'AKFFTTap'没有可见的@interface声明选择器'init:'” 这一行告诉我错误:“'init'不可用” 如何在Objective-C中初始化它 我使用的是4.2.2版 更新: AKFFTTap *tap = [[AKFFTTap alloc] initWithInput:_play

当我试图在Objective-C中创建AKFFTap的新实例时,它声称init函数不可用

AKFFTTap *tap = [[AKFFTTap alloc] init];
这一行给了我一个错误:“对于'AKFFTTap'没有可见的@interface声明选择器'init:'”

这一行告诉我错误:“'init'不可用”

如何在Objective-C中初始化它

我使用的是4.2.2版

更新:

AKFFTTap *tap = [[AKFFTTap alloc] initWithInput:_player];
给我错误;“对于'AKFFTTap'没有可见的@interface声明选择器'initWithInput:'”

我正在我的头文件中导入以下内容

#import <AudioKit/AudioKit.h> 
#import <AudioKit/AudioKit-Swift.h>
#导入
#进口
找到了答案

AKFFTTap.swift中的init方法缺少
@objc
标志,因此它没有显示给Objective-C代码
public init(输入:AKNode,fftSize:AKSettings.BufferLength=.veryLong)

这导致AudioKit Swift.h没有可用于AKFFTTap的init方法

SWIFT_CLASS("_TtC8AudioKit8AKFFTTap")
@interface AKFFTTap : NSObject <EZAudioFFTDelegate>
/// Array of FFT data
@property (nonatomic, copy) NSArray<NSNumber *> * _Nonnull fftData;

- (void)fft:(EZAudioFFT * _Null_unspecified)fft updatedWithFFTData:(float * _Nonnull)fftData bufferSize:(vDSP_Length)bufferSize;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

并检查您的头文件,即#import/@import rules,以便Xcode可以在键入kffttap*tap=[[AKFFTTap alloc]initWithInput:_player]时帮助您;给我错误;“对于'AKFFTTap'没有可见的@interface声明选择器'initWithInput:'”我正在我的头文件#import#import中导入以下内容
SWIFT_CLASS("_TtC8AudioKit8AKFFTTap")
@interface AKFFTTap : NSObject <EZAudioFFTDelegate>
/// Array of FFT data
@property (nonatomic, copy) NSArray<NSNumber *> * _Nonnull fftData;

- (void)fft:(EZAudioFFT * _Null_unspecified)fft updatedWithFFTData:(float * _Nonnull)fftData bufferSize:(vDSP_Length)bufferSize;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end
SWIFT_CLASS("_TtC8AudioKit8AKFFTTap")
@interface AKFFTTap : NSObject <EZAudioFFTDelegate>
/// Array of FFT data
@property (nonatomic, copy) NSArray<NSNumber *> * _Nonnull fftData;
/// Initialze the FFT calculation on a given node
/// \param input Node on whose output the FFT will be computed
///
/// \param fftSize The sample size of the FFT buffer
///
- (nonnull instancetype)init:(AKNode * _Nonnull)input fftSize:(enum BufferLength)fftSize OBJC_DESIGNATED_INITIALIZER;
- (void)fft:(EZAudioFFT * _Null_unspecified)fft updatedWithFFTData:(float * _Nonnull)fftData bufferSize:(vDSP_Length)bufferSize;
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end