如何消除 UIAlertController 的延迟?

2024-01-27

点击表格单元格后,警报视图显示有 4 到 5 秒的延迟。下面是代码

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath){

let cell = tableView.cellForRow(at: indexPath)!
let alertController = UIAlertController(title: nil, message: nil, preferredStyle: .alert)

let ok = UIAlertAction(title: "Ok", style: .default, handler: { (action) -> Void in
    let cell = tableView.cellForRow(at: indexPath)!
    })
let cancel = UIAlertAction(title: "Cancel", style: .cancel, handler: { (action) -> Void in
})
   alertController.addAction(ok)
   alertController.addAction(cancel)

present(alertController, animated: true, completion: nil)
}

如何避免这种延迟?


当我们处理 UI 时,重要的是它必须在主线程上完成。 因此,只需复制显示警报的代码并将其粘贴到调度主线程块中即可。

DispatchQueue.main.async {
   let alertController = UIAlertController(title: nil, message: nil, preferredStyle: .alert)

let ok = UIAlertAction(title: "Ok", style: .default, handler: { (action) -> Void in
    let cell = tableView.cellForRow(at: indexPath)!
    })
let cancel = UIAlertAction(title: "Cancel", style: .cancel, handler: { (action) -> Void in
})
   alertController.addAction(ok)
   alertController.addAction(cancel)

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

如何消除 UIAlertController 的延迟? 的相关文章

  • NSDateFormatter 返回错误的日期 + Swift

    Code let dateString 2016 04 02 var formatter NSDateFormatter NSDateFormatter formatter timeZone NSTimeZone abbreviation
  • iOS 11 安全区域布局指南向后兼容性

    启用安全区域布局指南是否与 iOS 11 以下版本兼容 我设法使用新的安全区域布局指南并保持与 iOS 9 和 iOS 10 的向后兼容性 编辑 正如 NickEntin 的评论所指出的 此实现将假定存在状态栏 但在 iPhone X 的横
  • 迭代 NSOrderedSet

    我正在尝试迭代 NSOrderedSet 的实例 像这样的事情 func myFunc var orderedSet NSOrderedSet array 42 43 44 for n in orderedSet NSLog i n 但是
  • Objective Flickr 照片上传错误

    我正在使用 ObjectiveFlickr 库将照片从我的 iPhone 应用程序上传到 Flickr 我可以授权该应用程序并执行一般请求 但在尝试上传照片时遇到错误 要上传的照片是使用 AVFoundation 捕获的图像 这是相关代码
  • 如何从代码隐藏中设置 CarouselView 的项目?

    我有一个 CarouselView 它绑定到图像的 ItemsSource 但我想通过更改 CarouselView 的索引来更改当前显示的图像 我尝试使用 CarouselView Position 作为必须选择的元素的索引 但不幸的是这
  • PresentModalViewController 不执行任何操作

    我有一个 UIViewController parent 调用presentModalViewController与另一个 UIViewController child on viewDidLoad If parent没有 UINaviga
  • 在后台任务中安排通知

    我正在为 iOS 开发一个日历 闹钟应用程序 它与网络服务器同步 当在服务器上添加活动时 会发出推送通知 以便 iOS 客户端可以获取新数据 并根据需要更新和安排下一次警报的时间 本地通知 但这仅在应用程序在客户端打开时才有效 我希望客户端
  • 使用 Google place API 从 lat long 获取附近的地点

    我正在使用 google place API 即 https maps googleapis com maps api place search json location 33 7167 73 0667 radius 500 type f
  • 将 Xcode 的测试类助理编辑器与 Swift 类结合使用

    在 Xcode 中工作时 在助理编辑器中提取单元测试用例通常会很好 目前 我一直在手动选择测试文件 但我看到助理编辑器有一个选项Test Classes 我试图让这个选项自动提取我的测试文件 但我似乎无法让它工作 是否需要某种配置 它不适用
  • 如何使用 Swift 获取 YouTube 频道的所有播放列表?

    我的问题不是关于从一般频道检索视频 我只想获取该频道创建的所有 播放列表 并检索每个播放列表的缩略图 标题和视频数量 这是一个 YouTube 频道示例 正如您所看到的 有很多已创建的播放列表 截至目前 我只能获取某个频道最新上传的视频 在
  • 我可以知道 requireGestureRecognizerToFail 到底会做什么吗?

    谁能告诉我下面的代码行到底会做什么 我已经提到过Apples https developer apple com library ios documentation uikit reference UIGestureRecognizer C
  • 将数字分解为单个数字的数组

    如果我有整数 123 并且我想将数字分解为数组 1 2 3 最好的方法是什么 我已经搞乱了很多 并且我有以下工作 var number 123 var digits Array String number map Int strtoul S
  • iOS WKWebView.scrollView委托导致BAD_ACCESS

    我的 viewController 有一个 UIView 属性 其中包含一个 WKWebView 我将 WKWebView rollView 委托设置为我的 viewController 它是我的 UIView 子类的公共函数 并在我的 v
  • 按范围迭代数组

    我有一个数组 1 2 3 4 5 6 100 我希望将此数组迭代 5 次 具体来说 取数组的前 5 个数字并获取平均值 继续处理接下来的 5 个数字并获取平均值 依此类推 我尝试过多种方法 例如Dequeue和 for 循环但未能获得所需的
  • 自定义 MKAnnotationView - 如何捕获触摸而不忽略标注?

    我有一个自定义 MKAnnotationView 子类 它完全按照我想要的方式显示视图 在那个视图中 我有一个按钮 我想捕获按钮上的事件来执行操作 这很好用 但是 我不希望标注被忽略或消失 基本上 触摸标注中的按钮将开始播放声音 但我想保留
  • xcode 6.1 (Swift) 中的 SIGABRT 运行时错误

    与最初的代码相比 唯一的更改是在ViewControl swift override func viewDidLoad newMessage hidden true super viewDidLoad Do any additional s
  • 我应该在哪个方法中设置 UITextField 的委托?

    在 viewDidLoad 或 init 方法中设置 UITextField 的委托是一个好习惯吗 我尝试在 init 方法中将委托设置为 self 但它没有调用相应的委托方法 当我将代码移动到 viewDidLoad 中时 它注册为将 s
  • 显示键盘时如何在 TextView 下方添加更多填充

    当我在 ScrollView 中有 TextField 并点击它时 键盘会按预期显示 但似乎 TextField 已向上移动到足以显示输入区域 但我希望移动到足够的位置 以便整体可见 否则它看起来像是被剪裁了的 我找不到改变这种行为的方法
  • 在 UIMenuItem 上设置accessibilityLabel

    我正在尝试设置accessibilityLabel of a UIMenuItem而且似乎没有效果 无论如何 VoiceOver 只是读取项目的标题 let foo UIMenuItem title foo action selector
  • ResponseSerializer“无法使用 Swift 3 调用非函数类型“NSHTTPURLResponse”的值?

    我一直在使用以下代码 没有出现任何问题 直到更新到 Xcode 8 beta 6 它类似于这个例子 https github com Alamofire Alamofire generic response object serializa

随机推荐

  • ARC 应用程序在 google chrome 45 上崩溃

    今天 当使用 arc 运行时测试 Android 应用程序时 由于某种原因 它在我没有注意到的情况下进行了更新 我得到的只是它立即崩溃 我尝试过使用电弧焊机重新包装 但不知何故也更新了但没有结果 更新 因为我在稳定通道上没有看到任何进展 所
  • 如何检查我的 AVPlayer 是否正在缓冲?

    我想检测我的 AVPlayer 是否正在缓冲当前位置 以便我可以显示加载程序或其他内容 但我似乎在 AVPlayer 的文档中找不到任何内容 你可以观察你的价值观player currentItem playerItem addObserv
  • Magento 中 /app/code/core/Mage/Core/Model/Resource/Resource.php 出现致命错误

    刚刚将 Magento 安装从 1 5 升级到 1 6 并出现以下错误 致命错误 在非对象上调用成员函数 insert hsphere local home t21004 XXXXXXXXXXXXX com app code core Ma
  • 需要 C# 程序集来松散引用强命名程序集

    所以问题就在这里 我正在编写一些 StyleCop 插件程序集 供我工作的公司使用 因此 这些程序集需要引用强命名的 Microsoft StyleCop CSharp dll 问题在于 如果我构建这个并将其传递给我组中的开发人员 他们必须
  • 使用内置 Hive 运行 Spark 并为 Hive Metastore 配置远程 PostgreSQL 数据库

    我正在运行带有内置 Hive 的 Spark v1 0 1 使用 SPARK HIVE true sbt sbt 程序集 程序集安装 Spark 我还配置 Hive 将 Metastore 存储在 PostgreSQL 数据库中 如下所示
  • Conda 包冲突,Geopandas

    在通过 conda forge 命令在终端中失败后 尝试在我的环境中安装 geopandas 时 我收到以下错误 有没有办法更新和修复这个问题 Output in format Requested package gt Available
  • 使用 matlab 求解 ode 系统

    我有 9 个带有时间相关系数的方程g MY M file function dy tarak t y G 3 16 g 0 1 exp t 200 90 2 dy zeros 9 1 dy 1 2 2 y 1 2 G y 5 2 g y 7
  • 强制 PostgreSQL 释放分配的内存

    我的 Postgres 在负载下达到了最大允许内存 500MB 并运行 14 个进程 一旦加载结束 Postgres 仍然保留分配的内存并运行 14 个进程 由于我有 Apache 和 Tomcat 在同一台机器上运行 我想 Postgre
  • 我可以通过请求向 Firestore 规则发送值吗

    我必须发送带有请求的值 以便从 Firestore 规则中检查它 例如 Recaptcha 以避免垃圾邮件 或来源 保护我自己的 firebase api 有什么办法可以做到这一点吗 无法将自定义参数传递到 Firestore 规则中 最常
  • Xcode 5 未检测到运行 iOS 8 的 iPhone

    我有一部安装了 iOS 8 的 iPhone 但是当我将其连接到 Xcode 5 1 时 它无法识别 与其他答案一样 我的 iOS 8 设备是否被 Xcode 5 1 识别似乎是相当随机的 如果您插入了 iOS 8 设备 它似乎可以工作be
  • 如何通过 3D 点云拟合一条线?

    我有一根电缆从移动的车辆上掉落到地面上 我使用摄像头系统实时估计绳索接触地面的位置 车辆的移动和位置估计的不准确会导致着陆位置的点云 从这个点云中 我想获得电缆在地面上最有可能的路径 我希望实时实现这一目标 并且希望根据新数据更新拟合 添加
  • OSGI 容器中的 Scala?

    如何在 Scala 中编码我的包 然后将其部署到 OSGI 容器中 我是否首先将其编译为 java 或者我可以将scala直接部署到OSGI中并使用某种捆绑包来识别它 任何指点都会很棒 目前 我使用 Apache Felix 作为我的 os
  • 学说 2 文档示例中的正方和反方是什么

    在关联映射的这个页面上 manytomany 部分有一个示例 但我不明白哪个实体 组或用户 是拥有方 http docs doctrine project org en 2 0 x reference association mapping
  • 如何在列表框右键单击上创建上下文菜单?

    我有一个带有列表框的窗口 我想右键单击列表框中的条目并在上下文菜单中显示某些选项 我在网上查看过 但似乎我只能获得 MFC C 或简单的 c 中的示例 这在标准 Win32 C 中可能吗 我可以通过 WM CONTEXTMENU 消息处理列
  • 自定义枚举类的显示

    我想使用自定义枚举类的显示matlab mixin CustomDisplay 如果我有一个常规 非枚举 类 如下所示 classdef test lt handle matlab mixin CustomDisplay propertie
  • 如何使用 memcpy_toio/fromio?

    我正在用 C 语言开发一个内核模块来与 PCIe 卡通信 并且我使用 pci iomap 分配了一些 io 内存 并使用 ioread write32 在那里写入 读取 这可行 但性能很差 我读到我可以通过 memcpy toio from
  • “aspnet_regiis -i”在生产服务器上有多安全?

    我有一个生产 IIS 服务器 它托管许多 Web 应用程序 其中大多数都相对简单 服务器上已安装 NET Framework 版本 4 5 但 IIS 尚未配置为使用它 我想在新应用程序上使用 4 5 这个 Stackoverflow 帖子
  • 打印应用了 CSS 样式的 Angular 网页

    我见过很多帖子询问如何使用 CSS 样式打印网页 但没有一个解决方案对我有用 网页如下所示 Webpage https i stack imgur com FSBKm png 我需要它来打印所有颜色编码 但是当我去打印它时 我遇到了这个混乱
  • 前 5 行按每个类型的引用求和,所有其他行等于 1,按团队 ID 分组

    我有一个 SQL 语句 其中每个 TYPE 的前 5 行是根据 WSF REF 选择的 其中 STATUS Approved 的 WEIGHTS 相加 每个类型的每个引用的所有其他行都被归类为 1 这工作正常 我正在寻找添加第二组 TEAM
  • 如何消除 UIAlertController 的延迟?

    点击表格单元格后 警报视图显示有 4 到 5 秒的延迟 下面是代码 func tableView tableView UITableView didSelectRowAt indexPath IndexPath let cell table