问题标签 [rawrepresentable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
swift - 用于与 String 相互转换的事物的 Swift 协议
我想要一个GenericThing
带有模板参数的模板参数,它是可以明智地转换为字符串和从字符串转换的任何类型。
然后我应该能够使用GenericThing
任何具有合理编码作为字符串的类型。例如,它应该适用于Int
, String
(嗯,dah),理想情况下,它应该适用于任何本身将转换为字符串和从字符串转换的RawRepresentable
地方。RawValue
例子:
我看不出如何轻松做到这一点。
我希望我可以使用LosslessStringConvertible
而不是我的 make up ConvertsToAndFromString
。
我试过这个,它适用于Int
等等。但它不适用于Tubbies
. 我看不到让所有RawRepresentable
地方RawValue: LosslessStringConvertible
也符合LosslessStringConvertible
.
swift - Objective-C 枚举符合 RawRepresentable
对此我有任何经验,例如以下用 objc 编写的枚举
当我试图符合 RawRepresentable 时,编译器崩溃。我唯一可以想象的是 RawRepresentable 仅适用于 swift 枚举。
有任何想法吗?
ios - 如何使用 CustomStringConvertible 和 RawRepresentable 组合类型指定函数参数的类型?
enum
我想要一个通用函数,它可以通过提供枚举类型和Int
原始值来实例化我拥有的几种不同类型的对象。这些enum
s 也是CustomStringConvertible
.
我试过这个:
这导致3个错误:
- 非协议、非类类型“CustomStringConvertible.Type”不能在协议约束类型中使用
- 非协议、非类类型“RawRepresentable.Type”不能在协议约束类型中使用
- 协议“RawRepresentable”只能用作通用约束,因为它具有 Self 或关联的类型要求
现在忘记'CustomStringConvertible',我也试过:
但是,尽管代码完成表明了这一点,但会导致有关以下内容的错误T.init(rawValue:)
:
- 无法使用类型为“(rawValue:Int)”的参数列表调用“init”
我怎样才能形成这样的工作通用功能?
ios - 协议“RawRepresentable”要求“init(rawValue:)”在 iOS 13.0.0 及更高版本中可用
我目前正在构建一个框架,并希望使 SwiftUI 符合仅适用于 iOS 14Color
的RawRepresentable
协议。我有以下代码:
但是,这会导致两个类似的错误:
这不可能吗?我可以将代码修改为:
这修复了错误,但调用fatalError
.
感谢您的任何帮助!
swift - 扩展 AppStorage 以兼容 Int32
我想使用 AppStorage 属性包装器将 CLAuthorizationStatus 存储在用户默认值中,这样我就可以在整个应用程序中将它作为一个简单的变量进行访问,而不是每次都通过 CLLocationManager 访问授权状态。问题是这个 Enum rawValue 类型是一个 Int32(而不是像 UNAuthorizationStatus 那样的 Int),所以下面的方法不起作用:
抛出:候选人要求类型“CLAuthorizationStatus.RawValue”(又名“Int32”)和“Int”是等效的(要求指定为“Value.RawValue”==“Int”)(SwiftUI.AppStorage)
我尝试扩展 AppStorage 以包含一个带有 RawRepresentable 的初始化程序,该初始化程序具有 Int32 作为 rawValue 但我找不到要包含在其中的内容以使其工作。
提前致谢。
swift - Swift - 为什么 String 不符合 RawRepresentable?
我正在学习 Swift,但无法理解为什么这段代码是正确的:
但这一个是不正确的,并向我显示错误
我浏览Swift.String
了来源,没有找到rawValue
声明。它在 Swift 中是如何工作的?是String
“自动”符合的内置类型RawRepresentable
,但所有其他类型都必须显式声明其符合性?