小编XuD*_* Wu的帖子

如何使用Swift创建React-Native框架

我有一个用Swift编写的本机组件,我希望将其作为一个框架提取出来,以便其他项目/人员可以轻松使用它.

首先我创建了一个新的iOS项目Foo,添加了一个框架目标,然后添加了源文件.最后,我建立了它.

失败的原因是:

Bar.swift:[lineNumber]:使用未解析的标识符'RCTConvert'RNBarManager.swift:[lineNUmber]:使用未声明的类型'RCTViewManager'

尝试1:

我跑了react-native link,但没有改变.

尝试2:

  1. 拖动React.xcodeprojFoo项目并添加libReact.aLink Binary With Libraries.
  2. 添加$(SRCROOT)/../node_modules/react-native/ReactHeader Search Paths.

但它不起作用.错误仍然存​​在.

尝试3:

我想也许Swift不会识别这些文件.

所以我Foo-Bridging-Headers.h像在React-Native App中一样添加,其中包含以下代码:

#import "React/RCTBridge.h"
#import "React/RCTViewManager.h"
#import "React/RCTUIManager.h"
#import "React/UIView+React.h"
#import "React/RCTBridgeModule.h"
Run Code Online (Sandbox Code Playgroud)

我还加入Foo-Bridging-Headers.hBuild Settings->Swift Compiler - General->Object-C Bridging Header,

我还是错了.

不支持将桥接头与框架目标一起使用

这里似乎不允许桥接标题.

尝试4:

我尝试添加这些进口Foo.h,

但又得到了一个错误.

Foo.h:21:9:在框架模块'Foo'中包含非模块化头

我该怎么做才能成功编译?

swift react-native

33
推荐指数
1
解决办法
2367
查看次数

是否有与Java和Swift兼容的格式描述?

在Java中有DecimalFormat哪些支持

  • ###.## - > 3.14
  • 0 - > 3
  • 00.000 - > 03.142
  • #.##% - > 314.16%
  • pie is ###.## - >馅饼是3.14

但是我找不到Swift for iOS中的等效功能.

NumberFormatter,但不支持pie is ###.##,并在代码中设置所有属性是不方便的:

formatter.maximumFractionDigits = 2
formatter.numberStyle = .currencyAccounting
Run Code Online (Sandbox Code Playgroud)

我很好奇Java和Swift是否支持格式,这在React Native中非常有用(在js中定义格式)

number-formatting nsnumberformatter ios swift

1
推荐指数
1
解决办法
280
查看次数