如何在 Swift 中创建本地作用域?

2023-12-07

我经常在 Objective-C 中使用本地作用域来使命名更清晰。

{
    UILabel *label = [[UILabel alloc] init];
    [self addSubview:label];
    self.titleLabel = label;
}

我正在尝试用 Swift 重写这段代码,如下所示:

{
    let label = UILabel()
    self.addSubview(label)
    self.titleLabel = label
}

这让我得到以下错误:

Error: Braced block of statements is an unused closure.

那么如何在 Swift 中创建本地作用域呢?


Update:在 Swift 2.0 中,你只需使用do关键词:

do {
    let label = UILabel()
    self.addSubview(label)
    self.titleLabel = label
}

对于 Swift 2.0 之前的版本来说也是如此:

您可以定义与此类似的内容:

func locally(@noescape work: () -> ()) {
    work()
}

然后使用这样的locally块如下:

locally {
    let g = 42
    println(g)
}

(灵感来自locally在斯卡拉的Predef目的。)

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

如何在 Swift 中创建本地作用域? 的相关文章

  • Swift:本地化字符串数组

    我有一个包含 100 多个字符串的数组 其设置如下所示 有什么方法可以本地化数组中的所有字符串 或者这是设置它的更好方法吗 var listOfThings Cars Mopeds 我建议将字符串放入 plist 文件中 然后可以根据需要本
  • 无效的捆绑包...包含不允许的文件“frameworks”

    我尝试通过应用程序加载器发布我的应用程序 但我不断收到此错误 我试过了这个解决方案 https stackoverflow com questions 25777958 validation error invalid bundle the
  • Swift:二元运算符“==”不能应用于“协议”类型的操作数

    我有一个协议 protocol ProfileManagerDelegete func dataHaveUpdated type ReturnType 并创建一个协议数组 并添加 删除侦听器 var listeners ProfileMan
  • 从 swift 数组创建张量

    这工作正常 import TensorFlow var t Tensor
  • WKWebView不加载https URL?

    我有一个 WKWebView 应该加载以下网址 https buchung salonmeister de place offer details page id 907599 venueId 301655 她是我使用的代码 import
  • 等高的 SwiftUI HStack

    我想要Text 111 具有相同的高度VStack包含 2222 和 333 struct Test7 View var body some View HStack alignment top Text 111 Shall have equ
  • 从 UTC 转换为本地时区给出错误结果

    背景我需要将格式为 HH mm 的时间字符串从 UTC 转换为本地时区 例如 如果 UTC 时间为 09 00 则当地时间 斯德哥尔摩 欧洲 应提前两个小时 Problem当我将 09 00 UTC 转换为斯德哥尔摩 欧洲时间时 我得到 1
  • 将两个字符的字符串转换为布尔数组的快速方法是什么?

    我有一个很长的字符串 有时超过 1000 个字符 我想将其转换为布尔值数组 它需要非常快速地多次执行此操作 let input String 001 let output Bool false false true 我天真的尝试是这样的 i
  • 只有根级导航目的地对于具有同质路径的导航堆栈有效

    我正在尝试整合NavigationStack在我的 SwiftUI 应用程序中 我有四个看法 CealUIApp OnBoardingView UserTypeView and RegisterView 我想从OnBoardingView
  • 在 Swift 中对约束进行动画处理

    我有一个UITextField我想在点击时放大它的宽度 我设置了约束 并确保左侧约束的优先级低于我尝试在右侧设置动画的约束 这是我尝试使用的代码 move the input box UIView animateWithDuration 1
  • 从xcode上触摸屏的坐标获取ImageView的像素数据?

    单击视图并从视图内的图像获取正确的像素数据似乎存在问题 func handleTap gestureRecognizer UIGestureRecognizer print You tapped at gestureRecognizer l
  • Admob 广告无法快速显示

    您好 我正在尝试将 admob 广告添加到已使用 swift 上传到应用商店的应用程序中 我在 admob 中制作了一个应用程序并复制了 appid 和广告 id 并显示了各自的横幅广告和插页式广告 这里的问题是当我写这行时 request
  • .showsPhysics 内存泄漏

    我最近花了 5 个小时尝试调试 Spritekit 应用程序中的内存泄漏 应用程序启动后 我注意到内存使用量略有上升 我花了 5 个小时中的 3 个小时挖掘参考资料 了解强与弱的关系ARC https developer apple com
  • 如何从 ContentView 外部显示 SwiftUI 警报?

    我正在构建 Swift 应用程序 并试图找出如何显示警报 我有一个单独的 swift 文件正在执行一些计算 并且在某些条件下我希望它向用户显示警报 基本上告诉他们出了问题 然而 我见过的大多数例子都要求警报在ContentView或以其他方
  • 如何使用 Vapor 和 Leaf 将图像从浏览器上传到 Amazon S3?

    我已经设置了 AWS S3 存储桶 并且可以使用 Vapor 3 和 Postman 上传文件 PUT request 和标头 x amz acl public read 但我想从浏览器中执行此操作 我使用的是 leaf 那么如何从浏览器上
  • Swift SpriteKit edgeLoopF​​romRect 问题

    下面的代码可以识别底部和顶部边缘场景和球按预期弹开 但是 那左边缘和右边缘现场的情况一直被破坏 如果施加足够的力 球会离开屏幕 然后最终返回 就好像场景的边缘超出了 iPhone 模拟器窗口的边缘 import SpriteKit clas
  • ReactiveCocoa 将 SignalProducers 合二为一

    我正在使用 ReactiveCocoa 并且我有几个 SignalProducers let center NSNotificationCenter defaultCenter let signalProducer1 center rac
  • UItextView 背景颜色 Linespacing 区域太

    我正在尝试在 UITextView 中复制文本突出显示 不是搜索文本突出显示 但我也被行间距的颜色所困扰 我该如何纠正这个问题 现在的情况 期望的结果 我已将以下属性添加到我的 UiTextview 的属性文本中 对于段落行间距 我使用了以
  • iOS:如何知道 reloadData() 已完成其任务?

    我想滚动到给定索引 self boldRowPath 但是当我调试时scrollToRow之前执行reloadData 如何知道reloadData已完成 func getAllTimeEvent self arrAllTimeEvent
  • SpriteKit的更新函数:时间与帧率

    一般来说 我对编程和 Spritekit 很陌生 并且有兴趣探索毫秒和帧率之间的关系 以及如何使用更新函数作为两者之间的中介 帧率与毫秒 从本质上讲 帧速率和时间之间的主要区别在于时间始终一致 而帧速率则不然 由于密集的图形程序 它可能会下

随机推荐

  • 类型错误:无法腌制 PyCapsule 对象

    I use dill将 ML 模型保存到文件 当我运行测试时python m unittest有用 但是如果我尝试运行测试python setup py test它出现错误TypeError can t pickle PyCapsule o
  • 为什么结构化绑定引入变量作为值,而不是引用?

    我正在学习结构化绑定声明 我的理解是在auto x y expr 变量x and y引入了类型 引用std tuple element
  • Django:在事件发生后将帖子离线

    我正试图在某个活动 某个确定的日期 之后将帖子下线 我开发了一个简单的模型来测试我的目标 并在模型中放置了一个函数 命名为 is expired 理想情况下 必须定义帖子是否在线 下面有model from django db import
  • Android 中每秒都会触发 Intent 吗?

    我正在寻找每秒广播的意图 我调查了android intent action TIME TICK但这种意图每分钟都会广播 我知道 AlarmManger handler thread 可以用于此目的 但我倾向于使用系统广播意图 请分享您的想
  • 如何向 MAUI 中的 UI 元素添加上下文菜单?

    下面的代码不起作用 错误 XLS0415 在类型 Grid 中找不到可附加属性 ContextActions 并且 未找到类型 FlyoutBase
  • 大文件复制期间的进度(复制项目和写入进度?)

    有没有办法在 PowerShell 中复制一个非常大的文件 从一台服务器到另一台服务器 并显示其进度 有一些解决方案可以将 Write Progress 与循环结合使用来复制许多文件并显示进度 但是我似乎找不到任何可以显示单个文件进度的内容
  • 子进程给出错误。 “该系统找不到指定的文件”

    这是我的代码 import urllib import requests from bs4 import from subprocess import Popen PIPE import os connectString SYSTEM me
  • 更改mysql查询ORDER BY中的时间格式

    我正在开发一个项目 其中用户拥有以正常格式存储日期的数据库2013 年 3 月 8 日我想用日期对输出进行排序 但没有得到正确的输出 bcos 未使用时间戳 那么有什么方法可以在 mysql 查询中使用或将该日期字段转换为时间戳 SELEC
  • 如何以编程方式操作“开始”菜单的“最近使用的程序”列表? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 我正在寻找一种使程序显示 经常 使用的方法 以便它们出现在 开始 菜单的 最近使
  • 来自 JavaScript 的 HTTP 请求使用包含标头的原始消息

    我知道如何使用 jQuery 或 XMLHttpRequest 从 javascript 向我的 REST api 发出 HTTP 请求 我现在想做的是发出请求而不设置标头值的属性 一个HTTP请求消息由组成 请求行 例如 GET imag
  • 避免 Pylint 警告 E1101:对于具有动态属性的类,“.. 的实例没有 .. 成员”

    想象一个函数动态地使用以下方法向对象添加属性setattr 这样做的原因是我想将一些外部结构 例如给定的参数树 映射到一个对象 my object SomeClass apply structure my object some descr
  • 在java中绘制极坐标图

    有谁知道我如何开始在java中绘制极坐标图并在该图上绘制一些点 我的意思是圆和线 我希望用 swing 之类的东西来做到这一点 而不是使用像 Jfreechart 这样的任何库 谢谢 您可能想看看利萨如曲线 的一个例子a 5 b 4 5 4
  • React/Redux useEffect 多次触发调度[重复]

    这个问题在这里已经有答案了 我在使用 useEffect 和dispatch 操作时遇到问题 我正在使用最新版本的react 18 1 0 基本上 我有以下在简单的代码中定义的代码 const Item gt const dispatch
  • 具有不等宽度项目的散景响应行

    我正在尝试在 bokeh 0 12 3 中创建一个响应行 其中包含一个图形和一个小部件框 其中小部件框的宽度比图形小得多 我只能通过以下方式实现前者 from bokeh io import output file show from bo
  • Meteor 中的后台任务

    我想知道 有什么办法可以实现后台任务吗 也许有工人池 你能给我指明方向吗 我正在考虑为此编写软件包 2019年更新 在考虑为任何内容编写包之前 首先查看是否有现有的包可以满足您的需要 在 Meteor 世界中 这意味着在 Atmospher
  • PlaceAutocompleteFragment 单击后消失

    我想实现 AutocompleteTextView 谷歌位置 但是当我单击片段中的 searchView 时 该片段消失了 掉落 My code Override protected void onCreate Bundle savedIn
  • ContextualDeserializer,用于使用 Jackson 将 JSON 映射到不同类型的映射

    此 JSON 片段应映射到包含以下内容的 Java 对象 cars类型字段Map
  • Java3D 绘制空的白色窗口(不在小程序中)

    我正在尝试使用 Java 3D 做一些有趣的事情 并且我正在通过官方教程进行学习 我的问题是 有时它显示得很好 没有任何问题 但有时窗口是白色的 直到我调整窗口大小才显示任何内容 我怎样才能克服这个绘图更新问题 这是所有代码 import
  • 比较时忽略 char 的大写和小写

    这样做的目标是从用户那里获取一个句子并确定每个元音出现了多少个 除了我不确定如何忽略大写和小写字母但我猜测 equalsIgnoreCase 或 toUpperCase 之外 大部分工作都已完成 我还想知道是否有另一种方法可以使用其他一些类
  • 如何在 Swift 中创建本地作用域?

    我经常在 Objective C 中使用本地作用域来使命名更清晰 UILabel label UILabel alloc init self addSubview label self titleLabel label 我正在尝试用 Swi