Swift - 具有类型和协议的属性

2024-03-24

在我的 Objective-C 类之一中,我有一个 type 属性UIViewController<UIProfileListHeaderDelegate>,我如何在 Swift 中表示这一点?我需要从两者访问属性和方法UIViewController and UIProfileListHeaderDelegate.

Thanks!


处理这个问题的快捷方法是定义一个协议,其中包含来自UIViewController并有你的UIProfileListHeaderDelegate继承于此。

使用您关心的方法定义协议:

protocol ViewControllerSubset {
    var view:UIView!
}

声明 UIViewController 实现该协议,不需要实际实现任何内容,因为它已经存在

extension UIViewController : ViewControllerSubset {}

继承你的协议

protocol UIProfileListHeaderDelegate : ViewControllerSubset

然后你就走吧。

如果您不想更改协议的层次结构(或者因为它是系统协议而不能更改),您可以定义一个包含这两个协议的协议)

protocol EquatableAndComparable : Equatable, Comparable { }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Swift - 具有类型和协议的属性 的相关文章

  • 为什么我的自定义类没有出现在 Interface Builder 的下拉列表中?

    我正在使用 Interface Builder 和 Storyboards 来构建我的应用程序 我正在尝试将我的源代码连接到我的UIViewController在 Storyboard 中 但我的类都没有显示在 自定义类 下拉菜单中 这种情
  • 如何禁用导航控制器(Swift)内特定视图控制器的自动旋转? [复制]

    这个问题在这里已经有答案了 上面根本没有答案 在导航控制器内的特定 不是全部 视图控制器禁用自动旋转时遇到问题 类似的问题并不涉及禁用特定视图控制器的自动旋转的能力 而是涉及禁用导航控制器内所有视图控制器的自动旋转的能力 我的导航控制器包含
  • 导航栏隐藏在 SwiftUI 中不起作用

    我有三观 我想隐藏第三个视图中的导航栏 即使我给 navigationBarHidden true 导航栏正在显示 我找不到我哪里做错了 我已在下面附上我的代码和生成的屏幕截图 Xcode 版本 11 1 struct ContentVie
  • SwiftUI:为表单中的单元格添加动画

    我正在尝试动画化我的Form或者更确切地说是其中的细胞 我的问题是 下面的代码给了我一个很好的插入动画 但是对于删除 单元格在看起来很丑陋的延迟后突然被删除 import SwiftUI struct ContentView View St
  • 在覆盖 UIView 的右下角创建四分之一透明孔

    您好 我想在覆盖 UIView 的右下角创建一个四分之一透明孔 我可以使用下面的代码解决它 但它看起来不正确 因为我在视图之外创建了一个矩形 我尝试过的 implementation PartialTransparentView id in
  • 如何改善 ARKit 3.0 中的人物遮挡

    我们正在开发一个使用 ARKit 中的人物遮挡的演示应用程序 因为我们想在最终场景中添加视频 所以我们使用SCNPlanes 使用 a 渲染视频SCNBillboardConstraint以确保他们面向正确的方向 这些视频也是部分透明的 使
  • 依赖于 pod 的 Swift 通用框架

    我正在开发一个依赖于 Alamofire 的小型 Swift 框架 我将它用作属于同一工作区的应用程序的嵌入式框架 并且它运行良好 当我想构建一个具有总体目标的通用框架时 问题就出现了 然后 当执行脚本生成框架时 它失败并显示消息No su
  • iOS 应用程序启动速度非常慢并且在 ImageLoaderMachO::loadCodeSignature 中停止

    我正在为 iOS 8 3 开发一个基于 Swift 的应用程序 我观察到该应用程序启动非常非常慢 并且似乎在应用程序加载过程中停滞不前 应用程序速度变慢before我的任何代码都会被执行 事实上 只有一个线程处于活动状态 仅使用了 60k
  • 如何向 UITableView 添加项目?

    我正在尝试将项目添加到UITableView有一个按钮 这是我的代码 In viewDidLoad repository NSMutableArray alloc initWithObjects nil ADD ITEM TO LIST r
  • 在 OS X 中,如何检测当前活动应用程序何时发生变化?

    尝试为 OS X 编写一个应用程序 该应用程序根据当前的应用程序触发行为 它不需要与它交互 它只需要知道何时更改以及更改内容 任何人都可以推荐哪些 API 可用于此目的吗 我的猜测是辅助服务中的某些内容 因为这是大多数应用程序 例如 Bet
  • CloudKit 和 Core 在设备之间同步数据

    我创建了一个简单的Notes应用程序基于Core data 现在我想在用户设备之间添加同步 以及我读过的所有文章 this https www raywenderlich com 134694 cloudkit tutorial getti
  • 快速检查网络速度

    我想从我的 swift 应用程序检查网络速度 我发现很多帖子描述了Reachability特别是查找连接是否可达以及是 WIFI 连接还是 WWAN 连接的方法 我的问题 是否可以检测 WWAN 的类型 2G 3G 4G 你可以用以下命令检
  • 当前图像选择模式会擦除 UI

    我下面有一个非常简单的视图控制器 UI 实际上只是一个带有底部标签栏的按钮 import UIKit class ImageAdderViewController UIViewController override func viewDid
  • 有没有办法在iOS模拟器上使用苹果的Touch ID(指纹扫描仪)?

    我正在开发一个需要 Touch ID 身份验证的应用程序 那么有什么方法可以在模拟器中使用 Touch ID 指纹扫描仪 另外 请分享一些使用 LocalAuthentication 框架的示例代码 XCODE 7 beta支持在iPhon
  • 如何跟踪 SwiftUI 应用程序中的所有触摸

    我正在尝试在 SwiftUI 应用程序中实现锁屏 我需要跟踪每个事件才能重新启动锁定计时器 在 UIKit 应用程序中 我使用了这种方法 重写 UIApplication 它允许了解应用程序中的任何事件 override func send
  • Swift :基于 nsdate() 解析、查询日期字段

    我正在尝试检索今天添加的记录进行解析 但查询不返回任何结果 我怎样才能让查询返回基于今天日期的结果 let now NSDate var query PFQuery className userBids query whereKey dat
  • 未安装 Apple 的全球开发者关系 (WWDR) 中间证书

    我今天无法通过 Appcelerator Titanium 发布我的应用程序 AdHoc 我开始收到此错误 错误 未安装 Apple 的全球开发者关系 WWDR 中间证书 错误 这将阻止您为 iOS 设备构建应用程序或用于分发的软件包 我上
  • 在 iOS 上,边距、边缘插入、内容插入、对齐矩形、布局边距、锚点...之间有什么区别?

    iOS 社区中似乎有几种不同的选项 术语 人们在布局方面使用 例如 UIEdgeInsets 是一种类型 但有时我听到 读到 设置插图 或布局边距与布局指南 我总是能够找到有效的选择 但我永远不确定我是否使用了正确的工具来完成这项工作 有人
  • 将 .p12 证书存储在钥匙串中以供稍后使用

    我正在尝试按照 Apple 文档处理此处的客户端 p12 证书 https developer apple com library ios documentation Security Conceptual CertKeyTrustProg
  • 有没有办法从 Instruments (Xcode) 的命令行实例中删除授权提示?

    我目前正在通过 bash 脚本使用 Instruments 来启动命令行界面以启动自动化插件的运行 在 4 2 中 这工作得很好 但是随着升级到 Xcode 4 3 我现在被提示需要授权用户 分析其他进程 即使授予了正确的凭据 也不会真正对

随机推荐