在 swift 中为 for 循环添加延迟

2023-11-26

我有一个编码“问题”。

我有一个标签,我想每 2 秒动态更改一次文本。 我做了以下事情:

// WELCOME STRING ARRAY
let welcomeContainer:[String] = ["Welcome","Benvenuti","Bienvenue","Willkommen","üdvözlet","Dobrodošli","добро пожаловать","Witajcie","Bienvenido","Ласкаво просимо","Vitajte","欢迎你来"]

然后,而不是使用timerwithinterval(这对于这个简单的任务来说似乎太多了),我尝试了delay我的函数里面的方法for loop:

func welcomeLabelChange() {
for i in 0..<welcomeContainer.count {
    welcomeLabel.text = welcomeContainer[i]
    delay(delay: 2.0, closure: {})
}

不幸的是,它完全跳过了延迟...... for 循环立即执行,只显示数组中的最后一个文本。 我究竟做错了什么?

我找到了这个OBJ-C 答案,但它建议一个(旧的)NSTimer执行。


您还可以使用此功能来延迟某些事情

//MARK: Delay func 

func delay(_ delay:Double, closure:@escaping ()->()) {
    DispatchQueue.main.asyncAfter(
        deadline: DispatchTime.now() + Double(Int64(delay * Double(NSEC_PER_SEC))) / Double(NSEC_PER_SEC), execute: closure)
}

用法是:

        delay(2)  //Here you put time you want to delay
{
            //your delayed code
        }

希望它能帮助你。

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

在 swift 中为 for 循环添加延迟 的相关文章

  • iPad 3 renderInContext 缓慢 - 渲染性能不佳

    我试图从用户可以绘画的视图中获取图像 或添加一些其他视图 到目前为止 iPad1 和 2 一切正常 但在 iPad3 上它却像狗一样跑起来 我只是使用图层 renderInContext 方法 if UIScreen mainScreen
  • 使用 cordova 工具集构建应用程序时出错

    我正在使用 Visual Studio 2017 社区版 并且只需使用 vs 文档中的步骤即可使用 macincloud 服务进行远程构建 我基本上遇到了以下明确的错误 来自构建服务器的远程构建错误https xxxx macincloud
  • 具有自定义视图的相机

    我的应用程序使用相机 我想在相机预览上添加叠加层 例如 我想在使用相机时使用相框 还想添加一个用于相机操作的自定义栏 请帮助我做同样的事情 您可能正在尝试使用 UIImagePickerController 但我知道这个可以解决你的问题 您
  • Xamarin Form - IOS:如何检测 UIView 大小已更改

    我使用 ContentView 创建了一个 Xamarin 表单 并为 Android 创建了一个渲染器 现在我必须为 IOS 创建一个渲染器 在 android 渲染器中 我可以重写 onSizeChanged 并将这些宽度 高度值传递给
  • FlurrySDK 与 cocoapods

    我正在尝试使用 Cocoapods 将 FlurrySDK 框架集成到我的应用程序中 正如我已经使用很多框架所做的那样 但由于某种原因 xcode 不断抛出此编译错误 Undefined symbols for architecture a
  • 使用 Xcode 6 XLIFF 导出的 iOS 本地化/国际化设置 Bungle

    背景 Xcode 6 添加了快速导出功能 可为每种语言创建单个 XLIFF 文件 只需从文件导航器中选择您的项目 然后选择菜单项编辑器 导出以进行本地化 Issue 它工作得非常好 并且 XML 中包含了所有内容 除了设置捆绑字符串 有人有
  • iPad 的自适应布局

    我正在关注这篇文章在 ios 中构建自适应布局为 iOS 8 构建自适应用户界面 http www sitepoint com building adaptive user interfaces ios 8 它在 iPhone 上运行良好
  • 在 Mobile Safari 中点击

    敲击
  • 查找 NSString 中子字符串的所有位置(不仅仅是第一个)

    有一个子串在字符串中出现多次 我用rangeOfString 不过好像只能找到第一个位置 如何找到子字符串的所有位置 NSString subString1 NSString subString2 n NSRange range1 newr
  • 使用离子框架的语音识别

    我正在寻找一种使用离子框架进行语音识别的方法 我想在 ios 和 android 设备上运行一个应用程序 目前 我在 ios 和 android 中提供网络视图 并有一个通用的代码库 我想为其添加语音识别功能并获取语音的输出 如果您在 Go
  • 如何在 UIImagePickerController 捕获图像的瞬间获取当前位置?

    我研究了如何从返回的图像中获取位置数据UIImagePickerController相机 但是 我认为最简单的方法是获取当前位置CLLocationManager此刻UIImagePickerController捕获图像 有办法做到这一点吗
  • ios UICollectionView - 设置自动高度

    我正在使用 UICollection 视图创建 3x4 按钮矩阵 iPhone4很好看 高度也比较小 此外 集合视图不会滚动 因为它在可用空间中显示 3x4 矩阵按钮 现在 当我在 iPhone5 上运行相同的应用程序时 我看到底部按钮矩阵
  • ScrollView 内的 SwiftUI 列表

    我想将列表放在 ScrollView 中 以便可以一起滚动列表行和标题 但我发现 ScrollView 中的 List 不起作用 它什么也没显示 我应该同时使用它们 我应该使用 ScrollView 这样当我滚动行时 我可以使标题 图像或文
  • Firebase 查询 - 查找包含字符串的子项

    我在使用 Firebase 查询时遇到了一些问题 我想查询对象 其中对象子值包含特定字符串 到目前为止 我有一些看起来像这样的东西 Firebase ref Firebase alloc initWithUrl https dinosaur
  • 如何在代码中的UIToolBar中添加UIBarButtonItem

    我有标准 UIBarButtonItem UIBarButtonItem share UIBarButtonItem alloc initWithBarButtonSystemItem UIBarButtonSystemItemAction
  • 使用 Xcode 资产目录缓存 UIImage

    我们都知道UIImage神秘的幕后缓存机制imageNamed 方法 在苹果的UIImage 类参考 https developer apple com library IOS documentation UIKit Reference U
  • iOS 框架问题:类在两者中均实现

    我正在开发一个使用第三方框架类的iOS框架项目 所以我在下面添加了第三方框架链接的框架和库部分 当我在 iOS 应用程序项目中添加自定义框架时 每个类都会收到此警告 objc 3139 类 class name 在两者中均实现 privat
  • 如何在 iOS 上反转使用 CoreGraphics 渲染的 pdf 上的文本颜色?

    我正在使用开源 PDF 查看库 VFR PDF Readerhttps github com vfr Reader https github com vfr Reader 我正在尝试实现 夜间模式 或黑色背景与白色文本 我可以将背景设置为我
  • 如何在iOS中像Android一样实现菜单

    我需要为 iOS 实现菜单 例如android menu表示导航按钮栏 右侧 如果我点击该菜单就会显示 我正在使用故事板 所以你想要这样的东西 甚至可以在风景中使用 我想我要花很长时间来解释 D 基本上我创建了一个自定义 UINavigat
  • iOS应用程序启动黑屏,UINavigationController,Nib,RootViewController

    我有以下应用程序 其RootViewController被命名TopicsViewController 当我运行它时 没有任何错误或中断 但屏幕是black 没有桌子 无论是有人的还是空的 只有黑屏 不确定发生了以下哪一种情况 我的申请有问

随机推荐

  • 提交带有包含“???”的字符串的 jQuery.ajax 数据它将值更改为“jQuery19107363727174233645_1373301489648?”

    页面端 JavaScript var model NumberOfCPUs 2 NumberOfCores 4 OSType Linux OSVersion var id 0 var success false send to server
  • Jackson:生成带有引用的模式

    当使用 Jackson 的 JSON 模式模块时 我不想在遇到模型类时停止序列化完整的图表 而是使用类名插入另一个模式的 ref 您能引导我到 jackson module jsonSchema 源代码中的正确位置来开始修补吗 下面是一些代
  • 在 MVC4 中,如何将属于域模型一部分的文件(图像)上传到 SQL Server?

    我对 MVC 比较陌生 而且从来没有处理过将文件 特别是图像 上传到 SQL Server 数据库的问题 老实说 我不知道自己在这里做什么 这是我到目前为止所拥有的 这是我的域模型 注意HttpPostedFileBase在我的模型中 这就
  • 如何只过滤项目某个子路径下的资源文件夹?

    我找到了问题和答案Eclipse 在 打开资源 对话框中隐藏 svn 文件但不想过滤给定名称 工作 的所有资源 这太笼统了 我只想排除一个特定子文件夹 sub 中的工作文件夹 我看到 文件和文件夹属性 选项 项目相对路径 和 位置 但它们都
  • MySQL 中的自然排序

    有没有一种优雅的方法可以在 MySQL 数据库中实现高性能 自然的排序 例如 如果我有这个数据集 最终幻想 最终幻想4 最终幻想10 最终幻想12 最终幻想 12 普罗马西亚之链 最终幻想冒险 最终幻想起源 最终幻想战略版 任何其他eleg
  • 是否有相当于 iOS 推送通知反馈服务的 Android GCM?

    我们的网络应用程序向 iOS 和 Android 设备发送推送通知请求 对于 iOS Apple 推送通知服务具有反馈服务 因此您可以检测哪些设备已卸载您的应用程序 然后将其从数据库中删除 Android GCM 有类似的反馈服务吗 如果没
  • VB.NET 是否具有与 C# 等效的多行字符串声明语法? [复制]

    这个问题在这里已经有答案了 可能的重复 VB NET 中的多行字符串 在 C 中 你可以像这样 string s hello there mister VB NET 是否有类似的不涉及字符串连接的功能 我希望能够在两个双引号之间粘贴多行文本
  • Python 中最简单的异步/等待示例

    我读过很多例子 博客文章 问题 答案asyncio async await在 Python 3 5 中 很多都很复杂 我发现的最简单的可能是this one 仍然使用ensure future 为了学习 Python 中的异步编程 我希望看
  • 日期验证 --> 结束日期必须大于开始日期

    我需要编写一个脚本来验证结束日期大于开始日期 此外 开始日期 结束日期不能早于当前日期 这需要在 Django 1 8 中编写 您可以覆盖Model clean 方法 Django doc 为了这 如果您使用ModelForm Django
  • 拖动表单结束时未发送 WM_NCLBUTTONUP 消息,怎么办?

    EDIT tl dr 转到第一条评论 这个问题源于我的另一个问题当鼠标在窗体边框上按下时获取 MouseDown 事件 在这个问题中 当用户在表单边框上按下鼠标左键 准备拖动 时 我需要让表单触发一个事件 这非常有效 问题是当用户完成此操作
  • Hibernate 将对象保存到多个会话

    我正在尝试使用休眠写入多个数据库 我已将写入和读 写会话封装在单个会话对象中 但是 当我去保存时 我收到很多错误 这些对象已经与另一个会话关联 非法尝试将集合与两个打开的会话关联 这是我的代码 public class MultiSessi
  • opencv 3 beta / python中的findContours和drawContours错误

    我尝试运行一个示例here import numpy as np import cv2 img cv2 imread final jpg imgray cv2 cvtColor img cv2 COLOR BGR2GRAY ret thre
  • nodejs jade 条件扩展

    我想让我的 Jade 页面根据条件扩展不同的布局 所以我的代码如下所示 if myConditionVariable extends layout1 else extends layout2 block content p here goe
  • 在网页上显示度数符号

    我有一个程序 可以从元数据中提取 GPS 坐标并将结果导入数据库 然后我使用 PHP 在网页上显示数据 我的问题 我最近创建了一个新模板 但无论出于何种原因 它不再显示度数符号 而是显示 我只是觉得奇怪 它适用于一个模板 但不适用于另一个模
  • Pytube 错误:get_throttle_function_name:找不到多个匹配

    我正在尝试从网址 https www youtube com watch v uyVYfSNb Pc list PLBxwSeQlMDNiNt72UmSvKBLsxPgGY Jy 下载 YouTube 播放列表 但收到错误 get thro
  • 如何重置 React 输入的默认值

    我有一组设置了 defaultValue 的 React 输入元素 这些值通过 onBlur 事件更新 我还在页面上执行了另一个操作 用于更新这些输入元素中的所有值 发生这种情况时 有没有办法强制做出反应以呈现新的默认值 我无法轻松使用 o
  • 在 Windows 中通过调用名称调用 Ghostscript?

    我应该怎么做才能在 Windows 中通过调用名称调用 Ghostscript 我将 Ghostscript bin 文件夹添加到 Windows PATH 和 Path 变量 但它不起作用 gswin32c exe 和 gswin32c
  • 在 qUnit 中测试整个页面重定向

    我有以下功能 var redirect function window location href http www google com 我想使用 qUnit 测试这个函数 问题是 当我调用运行测试的 HTML 文档时 一旦它到达调用的测
  • 为什么a[n]在运行时被c接受?

    为什么我们可以在c中做到这一点 int n scanf d n int a n 我认为数组在加载时位于内存中 但上面的示例似乎在运行时有效 我是否误解了什么 你们能帮忙吗 Thanks 我不是 C 方面的专家 但这可能是一个变长数组添加者为
  • 在 swift 中为 for 循环添加延迟

    我有一个编码 问题 我有一个标签 我想每 2 秒动态更改一次文本 我做了以下事情 WELCOME STRING ARRAY let welcomeContainer String Welcome Benvenuti Bienvenue Wi