【发布时间】:2015-05-24 04:58:35
【问题描述】:
Swift Playground 中似乎存在使用 NSCountedSet 的错误。
此代码按预期工作
let numbers = [1,2,2,4,6,7,8,8,5,8,1]
let set = NSSet(array: numbers)
但是当我尝试以同样的方式创建一个 NSCountedSet 时
var bag = NSCountedSet(array: numbers)
我收到此错误
游乐场执行失败: /var/folders/bl/1tnlvfzd4mqb9gkpx0h8rxy00000gp/T/lldb/6514/playground599.swift:56:31: 错误:“Int”与“AnyObject”不同 var bag = NSCountedSet(数组:数字)
我确实尝试过投射数字
let nums = numbers as [AnyObject]
var bag = NSCountedSet(array: nums)
然后我得到这个错误
游乐场执行失败: /var/folders/bl/1tnlvfzd4mqb9gkpx0h8rxy00000gp/T/lldb/6514/playground732.swift:58:23: 错误:调用 var bag = NSCountedSet(array: 数)
我错过了什么吗?
我可以通过这样做来解决这个问题
var bag = NSCountedSet()
for number in numbers {
bag.addObject(number)
}
但不是很优雅
【问题讨论】:
-
这确实很奇怪。
let bag = NSCountedSet(array: [])和let bag = NSCountedSet(set: set)也不编译。向 Apple 发送错误报告! -
发送了错误报告。谢谢
-
以上代码在 Xcode 6.3 beta 4 的 Playground 中不再失败。
标签: ios xcode swift swift-playground