35得票1回答
Swift中的hash和hashValue之间的区别

在 Swift 中,Hashable 协议要求您实现一个名为 hashValue 的属性:protocol Hashable : Equatable { /// Returns the hash value. The hash value is not guaranteed to b...

34得票2回答
SwiftUI:ViewModifier,其中内容是图像

我收到一个错误 "Type 'PlayButtonModifier' does not conform to protocol 'ViewModifier'",但我不明白为什么会出现这个错误,更重要的是,如何正确地解决它。 我只是尝试为一个Image创建一个ViewModifier,以便我可...

27得票3回答
类型CCC不符合协议“NSObjectProtocol”的要求。

我不明白为什么我的代码不起作用。这是我的代码:class Test: NSURLSessionDataDelegate { func URLSession(session: NSURLSession, task: NSURLSessionTask, didCompleteWithEr...

27得票1回答
Swift带有"where Self"子句的协议

除了使用协议扩展的这种语法: protocol P {} extension P where Self : UIView {} 我偶然发现,您可以在协议本身上使用相同的 where 子句: Translated text: 我偶然发现,您可以在协议本身上使用相同的 where 子句:pro...

26得票2回答
泛型和协议类型函数参数在实践中有什么区别?

给定一个没有任何关联类型的协议: protocol SomeProtocol { var someProperty: Int { get } } 这两个函数实际上有什么区别(不是“一个通用,一个不通用”)?它们是否生成不同的代码,是否具有不同的运行时特征?当协议或函数变得复杂时,...

25得票2回答
如何遵循协议变量的设置和获取?

我正在尝试使用协议并了解如何符合它们。protocol Human { var height: Int { get set } } struct Boy: Human { var height: Int { return 5 } // error! } 我...

25得票3回答
协议内部的嵌套类型

可以在协议中声明嵌套类型,例如:protocol Nested { class NameOfClass { var property: String { get set } } } Xcode显示"此处不允许使用该类型":类型“NameOfClass”不能嵌套...

24得票2回答
当一个类符合特定协议时,如何编写Swift扩展?

嗨 =)我刚遇到一个设计问题,需要(本质上)执行以下操作: 我想在任何符合协议MyProtocol的UIViewController子类的viewWillAppear:上注入一些代码。 代码解释如下:protocol MyProtocol { func protocolFunctio...

24得票4回答
一个只能通过使用最终类来满足的Swift协议要求

我正在Swift上建模所有者/被拥有者方案: class Owner<T: Ownee> { // ... } protocol Ownee { var owner: Owner<Self> { get } } 然后我有一对遵循上述建模类型的教...

23得票1回答
标记协议方法已过时。

我应该如何让实现协议的人知道某个协议方法已经被废弃了呢?我试过在下面这样使用@available,但是在实现协议方法时Xcode没有显示警告。 protocol TestDelegate { @available(*, deprecated, message: "Don't use ...