问题标签 [associated-types]
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.
rust - 使用一个函数定义一个特征,该函数返回与一个参数具有相同生命周期的关联类型
我正在尝试使用一个函数定义一个特征,该函数返回与一个参数具有相同生命周期的关联类型。
概念上类似于以下内容(不起作用:)lifetime parameter not allowed on this type [Self::Output]
:
我在 Stack Overflow 和 Internet 上发现了几个关于关联类型生命周期的问题,但似乎都没有帮助。一些人建议定义整个特征的生命周期:
但这也不起作用:它可以编译,但是以下函数无法编译:
给出错误:
我应该如何定义特征以便它按照我想要的方式运行?
swift - 检查两个对象是否实现了 Swift 协议及其关联类型
我有一个 Swift 3 项目,我在其中声明了一个具有如下关联类型的协议:
我想检查两个对象是否实现ViewModelContainer
以及它的关联类型ViewModelType
是否以“通用”方式进行分配。
理想情况下,我想做这样的事情:
但我不能container
投到ViewModelContainer
:
协议“ViewModelContainer”只能用作通用约束,因为它具有 Self 或关联的类型要求
我目前的解决方法是直接回退到特定的类及其关联类型,但这会使我的代码非常冗长且容易出错:
我尝试使用 generic ,但由于Objective-C 无法识别通用 Swift 类,因此无法在 Storyboard 中使用,因此UIViewController
卡住了。
swift - 没有关联类型,但是:协议只能用作通用约束,因为它具有 Self 或关联类型要求
即使我没有associated type
,我也会收到此错误:
协议只能用作通用约束,因为它具有 Self 或关联的类型要求
代码如下。我定义了一个protocol
被调用Board
的,然后,在另一个protocol
(被调用Rules
的)中我创建了一个类型的参数Board
。那是我得到错误的时候。
我没有关联的类型,所以我不知道编译器在说什么......
我到底做错了什么???
swift - 在 Swift 中将抽象类型转换为具体类型
我正在尝试为我的应用程序制作数据模型。这是场景:
我的应用程序有包含客户信息的客户模型,还包含他/她的付款来源。API 为我提供了两种支付来源:卡和银行账户,它们具有完全不同的字段。
所以,这是我的问题,我想要一个抽象类型,即 PaymentSource,然后在每个 PaymentSource 中都有一个函数来返回转换为它的类型的对象。一些我是如何键入擦除的。
我需要将我的抽象类型放在一个盒子中并将其用作具体类型(AnyPaymentSource)。
所以,我做了如下:
但Customer
给我以下描述错误:
不支持使用“PaymentSource”作为符合协议“PaymentSource”的具体类型
我在哪里做错了?
swift - 协议“BaseListPresenter”只能用作通用约束,因为它具有 Self 或关联的类型要求
我正在定义一个具有某些功能和变量的协议
现在,我想在课堂上使用它:
上面说的有错误:协议'BaseListPresenter'只能用作通用约束,因为它具有自我或相关类型要求
现在,我定义 X 的子类:
我已经通过创建 UsersPresenter 和 RoomsPresenter实现了解决方案(协议只能用作通用约束,因为它具有 Self 或 associatedType 要求)。但是,我想创建 BaseListPresenter 类型变量,它将在 X (UIViewController)中采用不同类型的值;一次 Room 和下一次 User 取决于 X 的子类。
我该如何解决这个问题并根据需要使用?
swift - 从任何使用关联类型的协议推断泛型
我正在尝试使此代码正常工作
originalItems
是[Any]
,我的功能是
我如何T
从Any
知道SectionRowRepresentable
具有关联类型的事实中推断出Identity
swift - 使用通用关联类型扩展协议
假设我们有一个协议定义为:
而且我还有一个枚举(典型结果)定义为:
现在我想为PAT
when Element
is添加扩展,Result<Value>
但编译器无法确定Value
因此触发编译错误,指示“引用泛型需要参数”。
这是扩展的代码:
swift - Swift 3:从非命名类型继承
我有以下 SSCI:
我想这样使用:
但是编译失败,报错:
从非命名类型 '(`Self`.Bar)' 继承
(Bar) -> Void
当我使用and时,这也无法编译(Foo.Bar) -> Void
。
有谁知道这个错误是什么意思,我做错了什么,以及如何纠正它?
ios - Swift 3:无法使用类型(通用)的参数列表调用(协议方法)
鉴于此协议:
而这个实现:
我不明白为什么我会收到此错误消息
无法使用“(T)”类型的参数列表调用“updateValuesWith”
需要一个“(TE)”类型的参数列表
上线values[oldIndex!].updateValuesWith(newElement)
。
经过一些徒劳的研究,我确信我一定错过了一些非常基本的东西,但仍然无法弄清楚到底是什么。
请赐教好吗?
swift - 泛型、关联类型和等价的问题
我制作了一个虚拟项目来测试泛型和相关类型。
这是一个协议
这是一堂课
所以这不能编译,contains
这是错误:Cannot invoke contains with an argument list of type T
不知道如何解决这个问题,感谢您的帮助!