【发布时间】:2021-12-14 17:27:32
【问题描述】:
我正在为 React Native 创建原生模块。我正在尝试在 Swift 中处理数据,这是函数
func getCornerPoints(_ cornerPoints: [AnyHashable]?) -> [AnyHashable]? {
var result: [AnyHashable] = []
if cornerPoints == nil {
return result
}
for point in cornerPoints ?? [] {
guard let point = point as? NSValue else {
continue
}
var resultPoint: [AnyHashable: Any] = [:]
resultPoint["x"] = NSNumber(value: Float(point.cgPointValue.x))
resultPoint["y"] = NSNumber(value: Float(point.cgPointValue.y))
result.append(resultPoint) // error is here "No exact matches in call to instance method 'append'"
}
return result
}
【问题讨论】:
-
@vadian 好的。将
Any更改为NSNumber可以回答我的问题,但是,如果值不仅是NSNumberswift var linesElements: [AnyHashable] = [] for line in lines { var l: [AnyHashable: Any] = [:] l["text"] = line.text l["cornerPoints"] = getCornerPoints(line.cornerPoints) linesElements.append(l) }