Не может специализироваться неуниверсальный тип 'Set'

Это моеNSManagedObject:

@objc(Order)
class Order: NSManagedObject {

    @NSManaged var orderItems: Set<OrderItem> //error: Cannot specialize non-generic type 'Set'
}

Кто-нибудь знает, почему это не работает?

OrderItem файл создан и работает, однако, для следующего объявления:

@NSManaged var orderItem: OrderItem
 Umberto Raimondi11 июл. 2016 г., 14:43
xcrun swift -version
 Umberto Raimondi11 июл. 2016 г., 14:52
Рад был помочь! :)
 Bartłomiej Semańczyk11 июл. 2016 г., 14:37
Тот же Xcode, как проверить версию Swift?
 Umberto Raimondi11 июл. 2016 г., 14:55
Да, это должно относиться к предоставленному языку.
 Umberto Raimondi11 июл. 2016 г., 14:47
Здесь также, кстати, я тестировал с Int вместо OrderItem.
 Umberto Raimondi11 июл. 2016 г., 14:53
Да, вы должны быть в состоянии использовать его таким образом, предоставляя полное имя класса.
 Bartłomiej Semańczyk11 июл. 2016 г., 14:44
В настоящее время я использую 2.2
 OOPer11 июл. 2016 г., 14:49
Нет другогоSet введите свой проект?
 Umberto Raimondi11 июл. 2016 г., 14:51
Нет и протестирован с набором классов, он тоже работает:pastebin.com/S3kN2fCK
 Umberto Raimondi11 июл. 2016 г., 14:36
Отлично работает на игровой площадке с Xcode 7.3.1, какую версию Swift вы используете?
 Bartłomiej Semańczyk11 июл. 2016 г., 14:51
О, да, ты потрясающий, у меня есть другой типSet, Вы спасли мою жизнь;)
 Bartłomiej Semańczyk11 июл. 2016 г., 14:52
Как я могу их отличить сейчас?UIKit.Set<OrderItem>?
 Bartłomiej Semańczyk11 июл. 2016 г., 14:54
Извините моя ошибка:Swift.Set<OrderItem>:)

Ответы на вопрос(1)

если кто-то должен прийти к этому вопросу в будущем из-за этой неприятной ошибки, так как обсуждение продолжалось в комментариях.

Да, по умолчаниюSet Тип в Swift является универсальным, но в этом случае пользовательский не универсальныйSet class скрывал класс, определенный стандартной библиотекой языка.

Лучше всегда выбирайте разные имена для своих классов, чтобы избежать конфликта имен. Но при необходимости вы всегда можете использовать полное имя класса для ссылки на нужный вам класс.

Стандартные языковые курсы доступны подSwift. namespace, в то время как для других классов вы можете использовать имя модуля, за которым следуют точка и имя класса (например, Foundation.NSString).

Ваш ответ на вопрос