使用 RCT_EXPORT_METHOD 语法时,如何修复 Xcode 上的“忽略方法主体之前的分号”错误?
Posted
技术标签:
【中文标题】使用 RCT_EXPORT_METHOD 语法时,如何修复 Xcode 上的“忽略方法主体之前的分号”错误?【英文标题】:How to fix 'Semicolon before method body is ignored' error on Xcode when using RCT_EXPORT_METHOD syntax? 【发布时间】:2019-04-17 18:21:38 【问题描述】:我正在将 React Native 集成到现有的 ios/android 项目中。我正在尝试制作一个原生模块来帮助从 React Native 屏幕导航到 iOS 屏幕。我能够创建用于导航的 Android Native Module 以从 React Native 调用 Android 活动。
在为 iOS 编写我的导航本机模块时,Xcode 不断突出显示我的方法,并在我的所有 RCT_EXPORT_METHOD() 方法中出现“忽略方法主体之前的分号”错误。
我使用的是 Xcode 9.2,React Native 0.59.3。
https://facebook.github.io/react-native/docs/native-modules-ios#docsNav
我一直在关注上面的文档,但我无法弄清楚为什么 Xcode 无法识别语法。 我还尝试在 Xcode 9.4 中运行代码并得到相同的“忽略方法主体之前的分号”语法错误。
导航模块.h
#import <Foundation/Foundation.h>
#import <React/RCTBridgeModule.h>
@interface NavigationModule : NSObject <RCTBridgeModule>
@end
导航模块.m
#import "NavigationModule.h"
@implementation NavigationModule
RCT_EXPORT_MODULE(NavigationModule);
RCT_EXPORT_METHOD(onOptionAboutSelected:(NSString *)title)
//TODO
RCT_EXPORT_METHOD(onOptionLockSelected)
//TODO
@end
任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:找到解决方案:需要更改项目的 XCode 设置。
项目 -> 选择目标 -> 构建设置 -> 将“将警告视为错误”设置为“否”。
代码应该构建。
【讨论】:
以上是关于使用 RCT_EXPORT_METHOD 语法时,如何修复 Xcode 上的“忽略方法主体之前的分号”错误?的主要内容,如果未能解决你的问题,请参考以下文章
从 Javascript 调用包装器函数会导致应用程序崩溃 - React-Native
使用 vuex 时如何在 typescript 语法中使用 mapState 函数?