Swift 中可选的闭包属性

2024-06-28

如何在 Swift 中将可选闭包声明为属性?

我正在使用这段代码:

    var respondToButton:(sender: UIButton) -> Bool

但编译器抱怨该属性未在初始化程序结束时初始化。我相信我可以通过将 var 声明为可选来解决这个问题,但是,我找不到正确的语法。

如何将此闭包属性声明为可选属性?


我相信你只需要将闭包类型括在括号中,如下所示:

var respondToButton:((sender: UIButton) -> Bool)?

或者,如果这是您要经常使用的闭包类型,您可以创建一个typealias https://developer.apple.com/library/prerelease/ios/documentation/swift/conceptual/swift_programming_language/Declarations.html#//apple_ref/doc/uid/TP40014097-CH34-XID_539使其更具可读性:

typealias buttonResponder = (sender: UIButton) -> Bool

然后在你的班级:

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

Swift 中可选的闭包属性 的相关文章

随机推荐

  • 表格行分成两页(打印媒体)

    I have a table which is OK in web pages but when printing my table ctrl p it breaks not the way I want The last row of t
  • Jira 和 git:如何反映所有分支?

    使用 git Fisheye Crucible 和 Jira 4 2 的开发基础架构 自我们在 Jira 中配置映射以来 对 Fisheye 注册存储库的提交反映在 Jira 项目和票证中 然而 似乎只有主分支上的提交才会被反映 在 Cru
  • YouTube 数据 API 返回不一致且重复的结果

    关于 YouTube 数据 API 结果不一致的问题有很多 1 https stackoverflow com questions 50516796 inconsistent results from youtube data api an
  • 什么是圈复杂度?

    我时常看到的一个术语是 环复杂度 在这里 我看到了一些关于 如何计算 X 语言的 CC 或 如何用最少的 CC 来完成 Y 的问题 但我不确定我是否真的理解它是什么 On the NDepend 网站 http www ndepend co
  • React 中的 useCallback 是什么以及何时使用它?

    我已经阅读了几篇关于useCallback and useMemo关于何时使用和何时不使用 但我大多看到过contrived代码 我在查看我公司的代码时发现有人这样做了 const takePhoto useCallback gt laun
  • 在空心方形层内生成随机均匀分布点的 Pythonic 方法

    假设我们有一个尺寸为 n 的空心方形薄片 也就是说 我们有一个 nxn 正方形 其中删除了 k l 矩形 1 我为 numpy 编写了这段代码 但它至少有 2 个问题 我必须丢弃大约 1 9 的所有生成点 并且删除 numpy array
  • 如何将 C 静态库公开到 .Net?

    将 C 函数公开给 C 和 Net 有哪些步骤 我想在 C C 和 Net 中为 32 位和 64 位构建使用相同的函数名称 我发布这个问题和答案是因为我没有在任何地方找到这些技术的记录 步骤是 将 C 函数公开为 C 静态库 lib Us
  • 将所有 PHP 错误输出到数据库而不是 error_log

    是否可以将所有 PHP 错误写入 MySQL 而不是标准的 error log 文件 我想如果我从头开始编写自己的错误处理程序 这是可能的 但我有很多遗留代码 理想情况下我只需进行 1 个全局更改即可 这可以做到吗 我认为如果不构建自己的错
  • 在托管代码中,如何实现良好的引用局部性?

    由于RAM似乎是新磁盘 http www infoq com news 2008 06 ram is disk 并且由于该声明还意味着现在对内存的访问被认为是缓慢的 类似于磁盘访问一直以来的情况 因此我确实希望最大化高性能应用程序的内存中的
  • 用于添加外部链接的 Vim 插件

    现在 这可能是显而易见的事情 已经解决并为每个人所知 但我只是想到了它 所以怜悯 Is there a Vim plugin for when writing markdown texts that enables you to inser
  • python 线程:内存模型和可见性

    python 线程是否会像 Java 一样暴露内存可见性和语句重新排序的问题 由于我找不到任何对 Python 内存模型 或类似内容的引用 尽管事实上很多人都在编写多线程 Python 代码 但我猜测这些陷阱在这里不存在 不volatile
  • 如何检查用户输入的数字不大于 LLONG_MAX 或低于 LLONG_MIN?

    我想检查用户输入的数字是否大于或小于告知值 我知道关于环礁功能 http en cppreference com w c string byte atoi但它似乎没有特别帮助 基于未定义值的检查看起来不太令人信服 我还知道我可以检查用户输入
  • QML 缩放不适用于非整数缩放因子

    我正在使用 QML 编写一个应用程序 当我按非整数因子缩放 GUI 时遇到麻烦 根据文档 https doc qt io qt 5 highdpi html Qt AA EnableHighDpiScaling应该启用与设备无关的像素 因此
  • HTML5 全屏 Web 应用程序:没有浏览器栏

    我正在为移动设备创建 HTML5 Web 应用程序 并被要求隐藏浏览器导航栏 后退和前进按钮 前面这里有错字 我怎样才能做到这一点 我想我应该能够使用 Phone Gap 来实现这一目标 但我想知道 普通 网络应用程序是否有可能隐藏浏览器栏
  • gitignore 中的文件

    我在生产服务器中有一个带有 Rails 应用程序的存储库 在存储库中有 gitignore 文件 config database yaml 每个开发客户端都有一个具有不同 config database yaml 的克隆存储库 我的问题是这
  • 有谁知道有一个很好的库可以将一个人的名字映射到他或她的性别吗? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在寻找一个图书馆或数据库 可以根据一个人的名字或昵称猜测他或她是男性还是女性 就像是 john gt M mary gt F al
  • Spring Boot Rest API @RequestBody 中的 @Valid 与 @Validated [重复]

    这个问题在这里已经有答案了 我拥有开发 REST API 的 NET 背景 现在使用 spring boot 从事 java REST 项目 首先 我在控制器 RequestBody 上的验证停止工作 在尝试修复它时 我看到了不同的实施方法
  • TypeORM:将不相关的实体映射到数组属性中

    我有以下内容无关TypeORM 实体 由于各种原因 我不能在它们上使用一对多关系 Entity export class Book PrimaryGeneratedColumn id number Column name string En
  • 将 python 字节类型更改为字符串

    我正在使用 python 来使用 stackoverflow API 我运行以下命令 f urllib request urlopen http api stackoverflow com 1 0 stats d f read d 的类型是
  • Swift 中可选的闭包属性

    如何在 Swift 中将可选闭包声明为属性 我正在使用这段代码 var respondToButton sender UIButton gt Bool 但编译器抱怨该属性未在初始化程序结束时初始化 我相信我可以通过将 var 声明为可选来解