protocols 相关问题

(非)相关对象相互通信的常用方法。

SwiftUI viewModel,内部包含[任何协议]数组

我正在尝试实现 viewModel,它包含一个带有可观察对象的数组,并且所有内容都由接口覆盖。我怎样才能实现这个目标?我的代码现在出现错误 输入“任何

回答 1 投票 0

Swift:iVar + Equatable 上的协议约束

上下文 考虑 Swift 5.9 中的这个协议和类: 协议 SpinnerHosting:AnyObject { var spinnerItem: SpinnerItem { 获取 } } 最终类 MyViewController:NSViewController { 变种

回答 1 投票 0

BitTorrent 协议实现中握手期间未处理的异常

我正在开发 BitTorrent 客户端,更具体地说,是在 BitTorrent 协议实现上,我遇到了一个错误,该错误导致握手过程中出现未处理的异常。这个

回答 1 投票 0

如何实现协议

有开源的桌面共享协议吗?如果有,它们是什么?谁能告诉我为了实现协议我需要知道的事情,例如,如果我想编写一个桌面共享协议...

回答 2 投票 0

Pycharm+协议 - 如何消除虚假的“Getter 应该返回或产生一些东西”

类MyProtocol(协议): @财产 def my_property(self) -> str: ... 类 MyClass(MyProtocol): @财产 def my_property(self) -> str: # 实际情况

回答 1 投票 0

如何设置我的 @resultBuilder 来与 ForEach 一起使用,但仍然遵守协议?

我在项目中定义了以下容器,第一个容器可以工作,但是第二个容器不能,因为它会引发以下错误。 参数类型 'ForEach 我在项目中定义了以下容器,第一个容器可以工作,但是第二个容器不能,因为它会引发以下错误。 参数类型“ForEach,Range.Element,PageX>”(又名“ForEach”)不符合预期类型“PageXItem” @PageBuilder在我的NavX结构上实现,如下所示。 @PageBuilder private var content: () -> Content 我希望能够使用独立的 PageX 或通过使用 ForEach 来使用动态集合。无论它是 ForEach(array.indices) 还是任何序列都没关系,这样 ForEach 的每个元素都保证是 PageX。 NavX { PageX { } } 或 NavX { ForEach(...) { _ in PageX {...} } } 这是目前使用的@PageBuilder。最后两个是我最近为实现此目的所做的尝试,但没有一个被证明是成功的。 @resultBuilder public struct PageBuilder { /// Builds a collection of `PageXItem` views. /// /// - Parameter components: A variadic list of views conforming to `PageXItem`. /// - Returns: An array of views that conform to `PageXItem`. static public func buildBlock(_ components: any PageXItem...) -> [any PageXItem] { components } /// Builds a collection of `PageXItem` views, particularly useful for conditional view constructions. /// /// - Parameter components: A variadic list of arrays of views conforming to `PageXItem`. /// - Returns: An array of views that conform to `PageXItem`. static public func buildPartialBlock(_ components: [any PageXItem]...) -> [any PageXItem] { components.flatMap { $0 } } static public func buildFinalResult(_ component: [any PageXItem]) -> [any PageXItem] { component } static public func buildBlock<C: View>(_ component: ForEach<[any PageXItem], UUID, C>) -> ForEach<[any PageXItem], UUID, C> { component } } 要与ForEach合作,您应遵守以下要求: 您的结构必须符合 View(如果不符合),因为 ForEach 仅适用于视图。 struct Item { let name: String } extension Item: View { public var body: Never { fatalError() } } 您的 @resultBuilder 必须仅使用专用协议运行。 protocol ItemConvertible { var items: [Item] { get } } extension Item: ItemConvertible { var items: [Item] { [self] } } @resultBuilder struct ItemsBuilder { static func buildBlock(_ components: ItemConvertible...) -> [ItemConvertible] { components } static func buildFinalResult(_ components: [ItemConvertible]) -> [Item] { components.flatMap(\.items) } } 您应该使用协议扩展 ForEach。 extension ForEach: ItemConvertible where Content == Item { var items: [Item] { data.map(content) } } 现在您可以编写构建器函数了: @ItemsBuilder func content() -> [Item] { Item(name: "1") Item(name: "2") ForEach(3..<5) { Item(name: "\($0)") } } print(content()) // [Item(name: "1"), Item(name: "2"), Item(name: "3"), Item(name: "4")]

回答 1 投票 0

TLS 1.3 协议是否需要 KeyUpdate 功能?

在 TLS 1.3 (RFC8446) 中,有一个新的 HS 消息“KeyUpdate”,它允许任一对等方请求密钥更新。我们正在尝试查明“KeyUpdate”是否是 TLS 1.3 的必需功能。通过阅读

回答 2 投票 0

无显示屏设备的蓝牙数字比较配对

根据蓝牙 5.2 手册,第 1641-1642 页,表 2.8,在两个设备都有显示屏的情况下,应使用数字比较配对。这些显示可用于显示确认...

回答 1 投票 0

Swift:结果的失败类型不能是协议 - “类型'any ShadowError'不能符合错误”

错误是一种协议,人们能够做到这一点...... 让 x: 结果 = .success(()) ShadowError 符合 Error 并且也是一种协议,但人们无法做到这一点...... 协议

回答 2 投票 0

Swift:有什么方法可以返回*类型*(不是*实例*)作为不透明类型吗?

假设我们有一个带有一些私有类型的模块,这些类型不应该被模块的客户端(直接)使用。我们可以定义一个公共协议并使用私有协议来实现该协议......

回答 1 投票 0

函数调用导致无限递归

我正在努力如何在结构扩展中遵守协议。这是我的代码: 公共协议 Foo { var 索引: Int { 获取设置 } } 结构栏{ // ... } 扩展栏:Foo {

回答 1 投票 0

Unale 调用另一个接受来自 Spring-Boot 的 Http2 的 api

无法从springboot调用Http2 api调用 我无法调用版本为 HTTP/2 的 POST Http 请求。请帮助解决这个问题。 这是我对 POST 请求的方法调用

回答 1 投票 0

有没有办法输入提示pandas对象的索引?

我想输入提示,pandas 数据帧必须有一个日期时间索引。我希望可能有某种方法可以通过协议来做到这一点,但看起来没有。本着这样的精神: TSF 类...

回答 1 投票 0

为什么Paxos领导人选举不使用Paxos完成?

下面的问题是严肃的而不是无聊的。我缺乏分布式系统的经验,但我确实了解 Basic Paxos 的工作原理以及领导者选择为何有用。

回答 3 投票 0

CANBUS API开发

我想开发canbus API开发,我可以通过C#语言开发发送框架详细信息和其他信息,如起始位、停止位、优先级。任何人都可以提供结构...

回答 1 投票 0

ASN.1 编译器

这是我的第一个问题,所以请耐心等待,我正在尝试找到一个好的编译器来解析以下标准,我尝试过 asn1c 但无法成功编译它,问题是我

回答 5 投票 0

从数组中一般调用的 swift 静态协议函数

我有一个项目,我想在其中以某种方式按结构进行记录。每个结构都应该有一个返回字符串的静态方法文档。我想为数组编写一个扩展,这样我...

回答 1 投票 0

Swift 是否支持协议中的协方差返回类型?

我在这里发现协议中可以使用函数重写。显然,它可以覆盖签名,而不是实现。因此,如果它不是阴影,则仅对协方差有意义/

回答 0 投票 0

Kafka 的组相关元数据交换协议是点对点的吗?

我的项目使用的是 Kafaka 0.10.1.0,我正在翻阅源代码试图学习一些东西。 我对 Kafka 用于交换组相关元数据的协议有疑问,这是一个对等协议吗...

回答 1 投票 0

CAN 控制器与 Arduino 的连接

嗨,任何人都可以帮我解决以下问题: 我们的项目包含一个CAN控制器(CANH和CANL),我需要通过它连接一些传感器并发送数据...... 在搜索 int 时...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.