Описание тега rawrepresentable

5 ответов

Перечень структур в Swift 3.0

Я пытаюсь создать перечисление структуры, которую я хотел бы инициализировать: struct CustomStruct { var variable1: String var variable2: AnyClass var variable3: Int init (variable1: String, variable2: AnyClass, variable3: Int) { self.variable1 = va…
29 янв '17 в 14:41
1 ответ

Родовой тип RawRepresentable неверно интерпретируется как self

Использовать NSCoding с типом Enum Свифта я сделал расширение на NSCoder: extension NSCoder { func encodeEnum<Enum: RawRepresentable where Enum.RawValue == String>(value: Enum, forKey key: String) { self.encodeObject(value.rawValue, forKey: ke…
02 фев '16 в 13:38
1 ответ

Struct не соответствует RawRepresentable протоколу?

У меня есть структура здесь, которая генерирует ошибки, когда Xcode пытается скомпилировать его public struct GATToIPPermissions : OptionSet { public init(rawValue: UInt) public static var read: GATToIPPermissions { get {}} public static var write: …
04 авг '17 в 16:42
1 ответ

Как я могу создать экземпляр общего перечисления в Swift

Я пытаюсь написать функцию в swift, которая создает перечисление rawValue в обобщенной функции, например: enum STATE: String { case OK = "OK" case ERROR = "ERROR" } func createEnum<E: RawRepresentable>(rawValue: T.Type) { return E(rawValue: ra…
27 янв '15 в 17:36
1 ответ

Хранение типа Enum в Swift

Я работаю над сериализацией Enum для моей библиотеки ( https://github.com/JiriTrecak/Warp), и я немного застрял при хранении типа enum в свойстве (мне нужно знать этот тип, чтобы я мог сериализовать / десериализовать его в потребность). У меня есть …
21 июн '16 в 09:08
1 ответ

Я хочу вернуть rawValue в RawRepresentable как Any, но я получаю его только как Any

Поэтому у меня есть функция, которая получает Any и проверяет, является ли Any перечислением, используя отражение: func extractRawValue(subject: Any) throws -> Any { let mirror = Mirror(reflecting: subject) guard let displayStyle = mirror.display…
10 ноя '16 в 19:26
1 ответ

Как составить протокол, описывающий строково-представимые перечисления?

У меня есть метод, который вызывает метод некоторого менеджера, чтобы сохранить значение int с некоторым ключом. Мой метод получает int и некоторое значение перечисления EnumKey в качестве ключа, выдавливает rawum-значение EnumKey и передает его мен…
5 ответов

Необработанный тип 'Bool' не выражается никаким литералом

Я хочу, чтобы мои перечисления были легко совместимы с @IBInspectableдля простоты я попытался представить его типом Bool: enum TopBarStyle: Bool { case darkOnLight case lightOnDark } Но XCode дает мне: Необработанный тип 'Bool' не выражается никаким…
17 фев '17 в 07:44
3 ответа

Быстрое перечисление наследования

Можете ли вы наследовать enum в Swift? Какие правила следует знать в отношении наследования перечисления? Следующий тестовый код: enum TemperatureUnit: Int { case Kelvin, Celcius, Farenheit } enum TemperatureSubunit : Temperature { } генерирует erro…
17 окт '15 в 21:01
2 ответа

Перечисление с необработанными значениями

Почему я не могу определить перечисление с необработанными значениями, как это? enum Edges : (Double, Double) { case TopLeft = (0.0, 0.0) case TopRight = (1.0, 0.0) case BottomLeft = (0.0, 1.0) case BottomRight = (1.0, 1.0) }
27 май '16 в 17:01
2 ответа

Без использования связанного типа, вы можете ограничить переменную в протоколе только RawRepresentables, где необработанным типом является String?

У меня есть случай, когда я пытаюсь определить функцию, которая принимает массив объектов с требованием, чтобы каждый объект определял перечисление на основе строки под названием "Команды". Вот пример того, как бы вы это сделали, если бы использовал…
1 ответ

Неправильная переопределение rawValue в сборке выпуска

У меня смешанный проект, и я столкнулся с интересной проблемой. Есть перечисление, определенное в obj-c typedef NS_ENUM (NSUInteger, ABCCategory) { ABCCategoryFirst, ABCCategorySecond }; Далее есть файл swift, в котором определено расширение extensi…
03 апр '18 в 12:22
2 ответа

Определение протокола Swift для произвольных перечислений на основе Int

У меня есть это перечисление, представляющее цвет, и я добавил несколько методов для удобного получения новых экземпляров, основанных на арифметических операциях с исходным значением оригинала: enum Color : Int { case Red = 0 case Green case Blue ca…
07 ноя '15 в 03:04
2 ответа

Есть ли способ упростить эту "матрицу перегрузок", основанную на типах аргументов, которые в конечном итоге представляются определенным типом?

Мы пытаемся создать функцию addQueryItem который в конечном итоге использует строку и необязательную строку внутри. Для большей гибкости в API, чем использовать String для типов аргументов мы вместо этого используем CustomStringConvertible (который …
2 ответа

Swift 2.1 ErrorType не соответствует протоколу RawRepresentable

Я объявил тип ошибки enum UserServicesError: ErrorType { case UserNotLogged } но я получаю ошибку Argument type 'UserServicesError' does not conform to expected type 'ErrorType' Type 'UserServicesError' does not conform to protocol 'RawRepresentable…
21 окт '15 в 09:40
1 ответ

Как использовать общие параметры по умолчанию

Это мой код: class Person { init<T: RawRepresentable>(raw: T = Child.johnDoe) {} } enum Child: String { case johnDoe } Это не компилируется. Ошибка: Значение аргумента по умолчанию типа 'Child' не может быть преобразовано в тип 'T' Почему это …
12 фев '19 в 19:30
4 ответа

Тип "Ошибка" не соответствует протоколу "RawRepresentable"

Изменив код моей игровой площадки на Swift 3, Xcode предложил изменить enum Error: ErrorType { case NotFound } в enum Error: Error { case NotFound } но теперь я получаю ошибку заголовка и не знаю, как заставить перечисление соответствовать этому про…
10 сен '16 в 21:26
0 ответов

Swift: связать кортеж с перечислением

Есть ли способ связать кортеж с перечислением? Например: typealias MyTuple = (Int, String) enum A: MyTuple { case .Foo = (1, "Bazz") } Я получаю ошибку "A не соответствует RawRepresentable"
24 ноя '16 в 15:09
4 ответа

В Swift, как я могу указать typealias, который ограничивает RawRepresentable для String?

Я пытаюсь определить протокол, который требует enum с необработанным значением String быть реализованным. Я не верю, что в настоящее время возможно навязать использование enumи я не уверен, что мне все равно, пока я могу позвонить fromRaw() и получи…
09 авг '14 в 19:33
1 ответ

Objc видимое строковое перечисление, но не RawRepresentable

Я хочу использовать enum, который виден как в цели C, так и в Swift, но не соответствует протоколу RawRepresentable. Я попытался получить перечисление строк, видимых в Objc и Swift, поэтому я использую typedef NSString *myEnum NS_TYPED_ENUM; Я пытал…
04 апр '19 в 02:11