2015-03-20 30 views
9

Dường như có lỗi trong Swift Playground khi sử dụng NSCountedSet.Swift NSCountedSet init với lỗi mảng?

Mã này hoạt động như dự định

let numbers = [1,2,2,4,6,7,8,8,5,8,1] 

let set = NSSet(array: numbers) 

nhưng khi tôi cố gắng để tạo ra một NSCountedSet trong cùng thời trang

var bag = NSCountedSet(array: numbers) 

tôi nhận được lỗi này

Playground execution failed: /var/folders/bl/1tnlvfzd4mqb9gkpx0h8rxy00000gp/T/lldb/6514/playground599.swift:56:31: error: 'Int' is not identical to 'AnyObject' var bag = NSCountedSet(array: numbers)

tôi đã cố gắng đúc số

let nums = numbers as [AnyObject] 
var bag = NSCountedSet(array: nums) 

sau đó tôi nhận được lỗi này

Playground execution failed: /var/folders/bl/1tnlvfzd4mqb9gkpx0h8rxy00000gp/T/lldb/6514/playground732.swift:58:23: error: extra argument 'array' in call var bag = NSCountedSet(array: nums)

Tôi có thiếu cái gì ở đây?

tôi có thể làm việc xung quanh vấn đề bằng cách làm điều này

var bag = NSCountedSet() 
for number in numbers { 
    bag.addObject(number) 
} 

Nhưng nó không phải là rất thanh lịch

+1

Đó là thực sự kỳ lạ. 'let bag = NSCountedSet (mảng: [])' và 'let bag = NSCountedSet (set: set)' cũng không biên dịch. Gửi báo cáo lỗi cho Apple! –

+0

Đã gửi báo cáo lỗi. Cảm ơn – carbo18

+0

Đoạn mã trên không còn thất bại trong sân chơi trong Xcode 6.3 beta 4. – carbo18

Trả lời

8

Cập nhật: Như @ carbo18 được báo cáo, điều này đã được cố định trong Xcode 6.3 beta 4.

Câu trả lời cũ: Điều đó chắc chắn trông giống như một lỗi. NSCountedSet có initializers

convenience init(array: [AnyObject]) 
convenience init(set: NSSet) 

nhưng

let b1 = NSCountedSet(array: [])  // extra argument 'array' in call 
let b2 = NSCountedSet(set: NSSet()) // extra argument 'set' in call 

cả thất bại trong việc biên dịch.

này cũng đã được báo cáo trong Apple Developer Forum (https://devforums.apple.com/message/1081850#1081850), nơi workaround sau được đưa ra:

let numbers = [1,2,2,4,6,7,8,8,5,8,1] 
let bag = NSCountedSet() 
bag.addObjectsFromArray(numbers) 
+1

Câu hỏi trên là một lỗi với Xcode 6.2 và đã được cố định trong Xcode 6.3 Beta 4 – carbo18

+0

@ carbo18: Thông tin cần biết, nhờ những thông tin! –

+0

lạ, vẫn là lỗi trong 6.4 (6E35b) –

Các vấn đề liên quan