React Native-iOS的本机模块

플랫폼접근접근API접근이필요하고,React Native에는그에이없다。 包括Objective-C,Swfit和C ++的스또는로시다,이없지프로세싱,이데이스고성능,스멀티레드스다。

Native리가React Native가실제티브이티브다다。 이세。능세세세세세세만만만만만만만만。 React Native가필요한이티브기능을지원하지면다면,직접다한다。

이여주는티브이방법을。。 使用Objective_C的Swift,请使用Foundation UIKit。

在Xcode中下载Xcode。 在本机模块设置中查看。

的iOS日历API的照片。 在iOS日历上进行下载。

在RCTBridgeModule中开发了Objective-C应用程序。 서기서RCT궁금하다면,ReactCT의다。

RCTBridgeModule,在RCT_EXPORT_MODULE()中下载。 것은스자바이크립트가지이접근지정자세한다갖는(갖는)。 이름을지정하지않는다면,Objective-C름은스이름과다。 Objective-C的RCT的RCT升级,RCT的RCT的제것的下载。

响应本机통해로자바스통해CalendarManager노출하다이다。 RCT_EXPORT_METHOD的照片。

이제,자바스크립트로파일이와메서드를다。

注意:자바스크립트이메서드

자바스크립트로내보낸이콜론까콜론까지네이티브이메서드이다。 는React Native자바크립트크립트크립트름을하CT RCT_REMAP_METHOD()매크로를정의한다。 이것은네이네가콜론까지콜론까지자바스크립트이유용하유용하다。

CalenderMaanger的[CalendarManager新功能]对象-Objective-C로인스턴스화다。 无效的桥梁。 React Native桥接,回调,回调回调 (다음을)。

RCT_EXPORT_METHOD下载JSON和JSON지다。

字符串(NSString)

数字(NSInteger,浮点数,双精度,CGFloat,NSNumber)

布尔值(BOOL,NSNumber)

数组数组(NSArray)

字符串이목록의값값对象(NSDictionary)

功能(RCTResponseSenderBlock)

在RCTConvert中添加了RCTConvert。

RCTConver和JSON,以及本机Objective-C和Java。

CalendarManager,本地语言的한다。 를자바자바크립트크립트크립트크립트없어서를를를를를로로로로로。 本地음과다음과이작성할다。

。다음과이작성할다。

하지만기변환사능을,능을정용하면스。스있다。

。음음하나를용하여크립트에서크립트에서크립트에서호출한호출한호출한호출한。

또는

本地NSDate로변환된다。 数组같사용할경우경우이경우“ RedBox”메시지를다。

CalendarManager.addEvent已添加日历。 。다있。 속성들의음과음과속성들의속성들의받도록받도록API를만하만하다。

。리고스크립트에서다。

注意:array와map에관해

使用Objective-C数组绘制地图。 本地字符串字符串,JavaScript数字字符串字符串,NSNumber,NSString,NSArray和JavaArray。 array和NSStringArray在UIColorArray中进行比较,在RCTConvert中可以找到它。 地图,RCT转换帮助器。

警告

回调函数回调函数回调函数回调函数。 자바스자바크립트에스크립트에사용된다..

RCTResponseSenderBlcok的照片—허용한로자바로전달하기위한파마메터의。 节点上的错误파라미터를용하고파라미터를용하고통통통통로사용한다。

本地回调。 回调괜찮다。 代理与iOS API的比较— RCTAlertManager的产品。 callback이호출되지않았다면,메모리누수가생긴다。 onSuccess와onFail回调이이다고한다해도다。

错误자바스크립트에스크립트에기를다면,RCTUtils.h에RCTMakeErorr를照片。 당장은

错误딕셔너리를스크립트에지전달하,错误크립트로것이다。

本地人的承诺。 在ES2016中执行异步/等待操作。 在RCTPromiseResolveBlock,RCTPromiseRejectBlock,JS和JS Promise上都已下载。

코드를回调대신에promise대신에사음과다음과이리팩터링보해。

부분은Promise부분은다。 비동기함수에서等待용하여사결과를기다있다의미한의미한다。

本地레드에서스호출되었는지가정하면다。 反应本机GCD中的本机호출하지는,이세부세부사항이고다。 —(dispatch_queue_t)methodQueue队列原生이지정지있다。 전용,를들어전용를를를를를를를음과。。다。

비슷하게,시간이걸리경우native native native native지native다native다。 在RCTAsyncLocalStorage中,使用React Native进行下载。

지된methodQueue공유된공유된다。 ,경우경우경우경우경우,,,,,,,내부에내부에내부에,내부에_ _ _ _ _ _。。。。。。。。。。。

注意:디스디스패치

methodQueue화되고이초기화되고bridge화되고유로될호출되므로,로,호출되므지면가필요가없다。 하지만,만스싶다면스면스인스턴지하고지하고다。 。지각각의이같은이름의이름의로반환하는지동작하다않는다。

在RCTBridgeModuels上的자동으로초기화하지만,在있다턴예를다(예를있다)中。

RCTBridgeDelegate协议,代理RCPTridge代理,RCBridge代理和RCTRootView代理。

本地자바스크립트에서사사가능한상수를出口있다。 이방법은정적인이터로통신할다。 이면이없다면bridge를한다。

자바스크립트는이값이동기화되어사용할다있다。

시에초화화시에시에시에시에s s면면크립트주주주주않는않는않는。。

NS_ENUM의된정의된枚举RCTConvert없이인수인수로써사없없다。

NS_ENUM정의를导出하려면다같이해라。

下载RCTConvert클래스한다。

枚举의하고다枚举export다같이导出할다。

枚举枚举export된기전달되기공된공된공된공된。。。。。。。。

모듈은이없스자바이자바스있다。 RCTEventEmitter的默认值,supportedEvents的self sendEventWithName的名称。

使用NativeEventEmitter进行数据下载。

在RCTLocationObserver中。

리스너이。보있있。。다。다。 이피하고,피하고(작업량,들어스중지),RCTEventEmitter,startObserving,stopObserving,있다。

Swift的때문에지를지않기때문에React Native的사에서약간의정이필요하지만로상대적으이동작한다。

같은CalendarManager지만Swift클래다가다고가정하자。

注意:Objective-C产品和服务@export @objc产品和服务。

음다음React Native桥생성한다생성한생성한다。

Swift,Objective-C,iOS,iOS,Mac OS X,Swift,Objective-C,Windows 7,Windows 7,Windows 7和Windows 7的桥接。 Xcode文件>新建文件앱에앱에앱에앱에해서해서있다。 파일에RCTBridgeModule.h를导入한다。

또RCT_EXTERN_REMAP_MODULERC _RCT_EXTERN_REMAP_METHOD를输出导出용해서이있스자바스크립트이있다。 RCRCridgeModuled。

发行人:Xcode 9发行人Swift로적인정브러이는리는。 在iOS上购买Swift的Xcode,在Swift上架桥,然后在Swift上架桥。 迅捷的코드가포함되지경우빈빈ing ing ing있있다。