我正在使用react-native
插件,不确定为什么我的收集数据没有通过。
这是我的快捷代码:
@objc(getItems:rejecter:)
func getItems:rejecter(_ resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) -> Void {
return resolve(itemManager.items)
}
其中itemManager.items
是具有这种结构[[ name = Meh 1, primary : Yes ], [ name = Meh 2, primary : No ]]
从JavaScript调用此函数可获得具有正确数量的项目的数组,但它们是null
而不是我期望的实际json对象。
有人可以建议如何解决这个问题吗?谢谢
答案 0 :(得分:3)
问题在于自定义类或结构无法自动转换为JSON,因此首先,您需要使用每个道具作为字典键将每个道具解析为NSDictionary。
@objc(getItems:rejecter:)
func getItems:rejecter(_ resolve: @escaping RCTPromiseResolveBlock, rejecter reject: @escaping RCTPromiseRejectBlock) -> Void {
let result: NSMutableArray = []
for item in items {
let yourAuxDic: NSMutableDictionary = [:]
yourAuxDic["name"] = item.name
yourAuxDic["primary"] = item.primary
result.add(yourAuxDic)
}
resolve(result)
}
希望有帮助!