将 [Int64] 的 Swift 数组转换为 NSArray

Converting Swift array of [Int64] into NSArray

我正在尝试将 Swift Int64 的数组转换为具有 NSNumber 值的 NSArray

@interface A : NSObject
- (void)bar:(NSArray *)tips;
@end

Swift class 继承了这个 Objective-C class:

class B : A {
    func foo(tips : [Int64]) {
        self.bar(tips)
    }
}

Swift 代码未编译并出现以下错误:

Type '[Int64]' does not conform to protocol 'AnyObject'

如何使用 NSNumber 个实例将 [Int64] 转换为 NSArray

P.S。我尝试了很多东西,但找不到一个简单的方法来做到这一点:

self.bar(NSArray(array: tips))
self.bar(tips as NSArray)

编辑:这个问题与尝试从单独的 Int64 对象构建新的 NSArray 无关,而是与转换现有数组 [Int64] 变成 NSArray

对其进行映射:

func foo(tips : [Int64]) {
    bar(tips.map { NSNumber(longLong: [=10=]) })
}

这将构建一个新数组,将所有 Int64 包装在 NSNumber 中,这个新数组应该可以毫无问题地转换为 NSArray