如何在 Objective-C 中使用 NSRunLoop?

2024-03-12

如何使用 Objective-C 中的 NSRunLoop 并等待某个变量改变值?

Thanks


我们通常不会在生产中使用 NSRunLoop 来等待变量更改。可以使用回调。

然而,在单元测试代码中我们确实有以下内容:

NSDate *twoSecondsFromNow = [NSDate dateWithTimeIntervalSinceNow:2.0];
    while (!callBackInvoked && !errorHasOccured && runCount-- &&  [[NSRunLoop currentRunLoop]  runMode:NSDefaultRunLoopMode beforeDate:twoSecondsFromNow]) {
        twoSecondsFromNow = [NSDate dateWithTimeIntervalSinceNow:2.0];
    }

代码会一直等待,直到我们的回调被调用、发生错误或我们等待的 2 秒周期已经发生。我们用它来测试进行回调的委托。

正如我所说,我不会在生产代码中这样做。

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

如何在 Objective-C 中使用 NSRunLoop? 的相关文章

  • 如果部署目标 < 基础 sdk,如何检查是否使用了不可用的方法?

    我想知道当部署目标低于基础 SDK 时 您如何检查代码是否不调用不可用的方法 可以在 SDK 等于部署目标的设备上运行应用程序 但我搜索一种更 自动 的方式 任何想法 问候 昆汀 最简单的方法是使用 IPHONE OS VERSION MA
  • Objective C - ARC - 何时使用@autoreleasepool

    我读了一些关于 ARC 的文章 看到了这个 interface Address NSObject public NSString city end implementation Address Address init NSString c
  • 使用 twitterkit 将图像发布到 Twitter

    我正在尝试使用 Twitter 的新 TwitterKit 和自定义 UI 发布图像和推文 他们提供的唯一文档是如何用他们的观点来做这件事 所以我可以弄清楚如何在没有图像的情况下做到这一点 NSMutableDictionary messa
  • 在 Objective-C 中,逗号用作语句分隔符时有什么作用?

    我正在查看第三方的一些源代码 并且反复看到对我来说新的语法 基本上他们用逗号而不是分号分隔语句 它可以编译并运行 但我不明白它在做什么 看起来是这样 if url url release url nil 有时他们也会在不使用 if 的情况下
  • 如何在pop UIViewController中删除UIParallaxDimmingView?

    我有一个UIViewController vc1这是在之后推送的UIViewController vc2 Both vc1 and vc2具有透明背景 问题 当我尝试弹出时vc2使用交互式弹出手势 从边缘平移 在我看来堆栈显得很神秘UIPa
  • 检测 UISwitch 的变化

    这听起来微不足道 但我注意到一些奇怪的地方 我已经为 UISwitch 的 Value Changed 事件连接了一个处理程序 我会做什么expect是每次调用处理程序时 开关的值都会改变 但实际上并非如此always案子 如果您快速按下开
  • 如何使用 XCode 在 iOS 应用程序中的推文中上传视频

    我是 iOS 开发新手 需要对我正在接管的 iOS 应用程序进行更改 以将视频添加到推文中 我当前的应用程序 UI 允许用户输入推文文本 但我将对其进行更改 以允许他们选择要与推文一起上传的视频 类似于 Twitter 应用程序的工作方式
  • 如何让 UITableview 在重新加载时转到页面顶部?

    当我调用以下命令时重新加载表数据时 我试图让 UITableview 转到页面顶部 void pickerView UIPickerView pickerView didSelectRow NSInteger row inComponent
  • 检查 UITableViewCell 是否完全可见

    如何检查 UITableViewCell 在屏幕上是否完全可见 不被选项卡或导航栏切断 我可以使用以下代码获取可见单元格 NSArray indexes tableView indexPathsForVisibleRows 但我想排除屏幕中
  • 从 iPhone 设备查找当前国家/地区

    我必须在 iPhone 设置中获取当前国家 地区 谁能告诉我如何在 iPhone 应用程序中获取当前国家 地区 我必须使用当前国家 地区来解析需要传递当前国家 地区的 RSS 提要 请帮我找到那个国家 提前致谢 要查找用户选择的语言所在的国
  • 检测用户何时清除通知中心的通知

    我的应用程序需要知道用户是否使用清除按钮从通知中心删除 清除应用程序通知 是否可以检测用户何时从通知中心删除通知或抓取通知中心上的一组通知 你 即App 无法与NotificationCenter交互 NotificationCenter与
  • 使用按计数分组的核心数据获取属性

    这是我想为 Core Data 编写的查询的 SQL 版本 SELECT Group Name COUNT Item Name FROM Item INNER JOIN Group ON Item GroupID Group ID GROU
  • 方法调用中的插入符[重复]

    这个问题在这里已经有答案了 我正在阅读本教程 并遇到了这行代码 这让我感到困惑 localSearch startWithCompletionHandler MKLocalSearchResponse response NSError er
  • 在后台每 X 分钟执行一次函数不起作用

    我使用此代码每 X 分钟执行一次函数 void executeEveryOneMinute self myFunction dispatch after dispatch time DISPATCH TIME NOW int64 t 60
  • 使用 Swift 创建 NSAlert

    我有在 Objective C 中创建和 NSAlert 的代码 但我现在想在 Swift 中创建它 该警报旨在确认用户想要删除文档 我想要 删除 按钮来运行删除功能 而 取消 按钮只是为了消除警报 我怎样才能用 Swift 写这个 NSA
  • 返回一个dispatch_async获取的变量[重复]

    这个问题在这里已经有答案了 基本上 一个方法需要返回一个在dispatch async中获取的NSDictionary 这是我尝试过的 NSDictionary fetchNSDictionary dispatch queue t Queu
  • 无法识别的选择器调用静态 iOS 库中的类别方法

    我正在使用一些第三方软件来帮助使用 Xcode 4 3 2 编写 iPad 应用程序 该软件是开源的 通常经过设置 因此其代码将与开发人员为应用程序编写的任何代码一起编译 因为我在很多地方使用该软件 所以我决定将其构建为 iOS 模拟器的静
  • iOS:我如何知道某个属性是否符合 KVO 标准?

    In the 键值观察编程指南 https developer apple com library archive documentation Cocoa Conceptual KeyValueObserving KeyValueObser
  • 比较 Objective C 中的 NSNumber

    我是 Objective C 的初学者 对这种情况有点困惑 我有以下代码 if number1 lt number2 NSLog THE FOLLOWING NUMBER NSLog number1 NSLog IS LESS THAN N
  • 禁用 iPhone 4S / 新 iPad 键盘上的听写按钮

    我们的应用程序是一个医疗保健应用程序 我们的应用程序中有一个符合 HIPAA 标准的语音识别器 所有听写都可以通过它进行 医院不希望医生意外开始与不符合 HIPAA 标准的 Nuance Dragon 服务器进行对话 因此 我正在寻找可以抑

随机推荐

  • 使用 WiX 创建语言选择对话框

    我使用 WiX 创建了一个多语言安装程序 我正在使用命令从命令行运行安装程序 msiexec i myinstaller msi TRANSFORMS 1041 并且工作正常 现在我已经使用引导程序创建了一个语言选择对话框 如何将所选语言传
  • 如何将Win32 HRESULT转换为int返回值?

    我正在用 C 编写一个 Windows 控制台应用程序 希望在成功时返回零 在失败时返回有意义的错误代码 即 S OK应该返回 0 并且E OUTOFMEMORY应该返回不同的返回值E FAIL等等 以下是一个好的方法吗 int wmain
  • 对于 std::string,复制初始化或直接初始化字符串文字更快吗?

    我有以下问题 应该遵循哪一项更好 为什么 string strMyString SampleString or string strMyString SampleString 我回答了here https stackoverflow com
  • Chrome 中的 Math.log2 精度已更改

    我编写了一个 JavaScript 程序 它根据元素的数量计算二叉树的深度 我的程序几个月来一直运行良好 但最近我发现在 Chrome 和 Firefox 中查看网页时存在差异 特别是在 Firefox 上 Math log2 8 3 但现
  • 高效处理超宽但不太高的位图?

    有什么方法可以创建更节省空间 资源的位图吗 目前我尝试渲染一个文件 高约 800px 宽约 720000px 它使我的应用程序崩溃 大概是因为位图的共享内存大小 我是否可以更有效地执行此操作 例如直接将其创建为 gif 而不是稍后保存 我尝
  • Elif,如果不工作或者我不理解[重复]

    这个问题在这里已经有答案了 好吧 我的代码可以正常工作 但是当我输入 否 时 如果我想重试输入密码 它就不起作用了 它只是转到输入密码行 第 20 行 我尝试了多种方法来解决这个问题 但我就是做不到 import time import o
  • 未捕获的类型错误:$(…).on 不是函数

    我在页面上使用 JQuery UI 对话框并收到此错误
  • 如何更好地拟合seaborn小提琴图

    下面的代码给了我一个非常漂亮的小提琴图 以及其中的箱线图 import numpy as np import seaborn as sns import matplotlib pyplot as plt foo np random rand
  • 错误:类...没有名为的字段或关联

    当我将文件上传到服务器时遇到这个问题 Error Class Prizes PrizesBundle Entity Category has no field or association named order cat 我的类别
  • C#:如何以编程方式将 SQL 脚本导入数据库?

    我是否必须手动解析 SQL 脚本并单独执行每个语句 还是有更好的方法 我正在寻找一种编程解决方案 我知道有些工具已经能够做到这一点 如果该解决方案适用于所有数据库系统 而不仅仅是 sqlite 那就太好了 我不确定这如何适用于 Sqlite
  • 对停用词进行标记,生成的标记 ['ha', 'le', 'u', 'wa'] 不在 stop_words 中

    我正在使用 Python 制作一个聊天机器人 代码 import nltk import numpy as np import random import string f open home hostbooks ML stewy spee
  • 无法在 Laravel 的 app.scss 中导入“bootstrap-select”

    我正在做以下事情 npm install bootstrap select npm run dev 在应用程序 scss中 Bootstrap Select import node modules bootstrap select sass
  • 如何使用 Google Play 服务创建 API-15 模拟器(命令行)

    我的应用程序的一位用户面临着某些问题 特别是API Level 15 4 0 4 我想在我这边重现这个问题 我没有4 0 4设备 我想为此目的创建一个模拟器 我在跑Android Studio 2 0 beta6 以及GUI AVD Man
  • 如何将数据文件保存为.RData?

    我想将数据保存到 RData file 例如 我想保存到1 RData有两个 csv 文件和一些信息 Here 我有两个 csv 文件 1 file 1 csv contains object city 1 2 file 2 csv con
  • 如何访问 EL 变量并将其作为参数传递给 EL 中的函数?

    我想调用 bean 上的函数 并使用 ALL 在 jsp 中传递给它的参数 问题是它不允许这样的事情 teacherBean certificationFor particularField 问题是我想迭代一个数组并为作为参数传递的数组中的
  • SQL更新仅在列被修改时触发

    通过查看其他示例 我想出了以下内容 但它似乎没有按照我想要的方式工作 我希望它仅在以下情况下更新修改后的信息 QtyToRepair值已更新 但它并没有这样做 如果我注释掉其中 则修改后的信息在每种情况下都会更新 正如我所说 其他例子让我变
  • 从管道获取模型属性

    我通常会得到PCA像这样的负载 pca PCA n components 2 X t pca fit X transform X loadings pca components 如果我跑PCA使用 scikit learn 管道 from
  • 在 MSBuild 中是否可以确定我是否在 Visual Studio 中运行

    Visual Studio 设置了 MSBuild 属性吗 我希望根据 Visual Studio 的版本 如果有 有一些条件行为 您应该使用的属性值是BuildingInsideVisualStudio 当您在 Visual Studio
  • 定义后向对象添加属性?

    我知道在 JavaScript 中 您可以向现有类型 例如 Date 的实例添加新属性 但是是否可以在定义匿名类型的实例后向其添加新属性 例如 假设我有以下脚本 var employee Name Scott Age 32 JavaScri
  • 如何在 Objective-C 中使用 NSRunLoop?

    如何使用 Objective C 中的 NSRunLoop 并等待某个变量改变值 Thanks 我们通常不会在生产中使用 NSRunLoop 来等待变量更改 可以使用回调 然而 在单元测试代码中我们确实有以下内容 NSDate twoSec