繁体   English   中英

“RNCAsyncStorage”没有可见的@interface 声明了选择器

[英]No visible @interface for 'RNCAsyncStorage' declares the selector

我正在研究react-native-asyncstorage上的棕地集成。

在 pod 文件中,RNCAsyncStorage.h 具有以下内容:

#import <React/RCTBridgeModule.h>
#import <React/RCTInvalidating.h>
#import "RNCAsyncStorageDelegate.h"
...
@interface RNCAsyncStorage : NSObject <RCTBridgeModule,RCTInvalidating>
...
- (void)multiGet:(NSArray<NSString *> *)keys callback:(RCTResponseSenderBlock)callback;

在我的 AppDelegate.m 我有

  @implementation AppDelegate {
  __weak RCTBridge *_bridge;
}
...
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  ...
  RCTBridge *bridge = [[RCTBridge alloc] initWithDelegate:self launchOptions:launchOptions];
  ...
}

在我的 Stuff.m 中,我的方法中有这个:

#import <RNCAsyncStorage/RNCAsyncStorage.h>
....
RNCAsyncStorage *asyncStorage = [self.bridge moduleForClass:[RNCAsyncStorage class]];
[asyncStorage multiGet:@[@"playerQueue"]] callback:^(NSArray *response){
    NSObject *count = response[0];
    if ([count isKindOfClass:[NSError class]]) {
        // Failed to get count
        return;
    }

    // Use count here
}];

但是我一直收到错误消息,说“RNCAsyncStorage”没有可见的@interface 声明了选择器“multiGet:”。 在头文件和 .m 文件中声明了一个 multiGet 选择器。

我应该说 RNCAsyncStorage 是从 Pods 导入的,但我确实尝试将它们拉入我的项目,但仍然遇到相同的错误。 我应该做些什么来解决这个问题? 谢谢!

只是语法错误。 有一个额外的] ,正确的调用是:

[asyncStorage multiGet:@[@"playerQueue"] callback:^(NSArray *response){
    NSObject *count = response[0];
    if ([count isKindOfClass:[NSError class]]) {
        // Failed to get count
        return;
    }

    // Use count here
}];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM