我有一个用Swift编写的本机组件,我希望将其作为一个框架提取出来,以便其他项目/人员可以轻松使用它.
首先我创建了一个新的iOS项目Foo,添加了一个框架目标,然后添加了源文件.最后,我建立了它.
失败的原因是:
Bar.swift:[lineNumber]:使用未解析的标识符'RCTConvert'RNBarManager.swift:[lineNUmber]:使用未声明的类型'RCTViewManager'
我跑了react-native link,但没有改变.
React.xcodeproj到Foo项目并添加libReact.a到Link
Binary With Libraries.$(SRCROOT)/../node_modules/react-native/React到Header Search Paths.但它不起作用.错误仍然存在.
我想也许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.h了Build Settings->Swift Compiler - General->Object-C Bridging Header,
我还是错了.
不支持将桥接头与框架目标一起使用
这里似乎不允许桥接标题.
我尝试添加这些进口Foo.h,
但又得到了一个错误.
Foo.h:21:9:在框架模块'Foo'中包含非模块化头
在Java中有DecimalFormat哪些支持
###.## - > 3.140 - > 300.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中定义格式)