Swift 4:计时器崩溃 - 无法识别的选择器发送到实例

2023-11-29

我试图调用 Timer 的一个实例,并在每一秒过去时打印“一秒已过去”。我正在关注 Udemy 上的完整 iOs 11 和 Swift 开发人员课程。教练确实这样做了,他的代码可以工作,但我的代码却崩溃了。

这是代码:

var timer: Timer! = Timer()

@IBAction func cameraPressed(_ sender: Any) {
    timer.invalidate()
}

func processTimer() {
    print("A second has passed")
}

override func viewDidLoad() {
    super.viewDidLoad()

    timer = Timer.scheduledTimer(timeInterval: 1, target: self, selector: Selector("processTimer"), userInfo: nil, repeats: true)

它应该在运行应用程序时启动计时器,然后在我按下“cameraPressed”按钮时停止计时器。但是,它出错了:

无法识别的选择器发送到实例...

and

libc++abi.dylib:以 NSException 类型的未捕获异常终止

我是 Swift 新手,其他看起来与此类似的 StackOverflow 问题并不能解决我的问题。我尝试过更改“计时器!” “定时器”可选?并将“Selector("processTimer")”更改为“#selector(processTimer)”,但我仍然无法使其工作。


回调函数processTimer未正确声明:

@objc func processTimer() {
   //your code here
}

您需要添加@objc函数之前的关键字,以便在函数中调用Timer打回来。 另外,一般来说我认为更好使用#selector关键字代替。

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

Swift 4:计时器崩溃 - 无法识别的选择器发送到实例 的相关文章

  • 如何快速更改按钮图像?

    我正在开发一个有按钮的应用程序 该按钮没有文本 图像或背景 所以我想做的就是在viewDidLoad函数中给它一个图像 这就是我所拥有的 IBOutlet var tapButton UIButton override func viewD
  • 如何在 Swift 3 中解析 JSON 数组 [重复]

    这个问题在这里已经有答案了 我从 Socket 获取了一些我想访问的数据 但收到错误消息 指出每次都无法将 NSArray 转换为 NSDictionary struct SocketEventHandler let event Strin
  • Swift 3:如何去除UITableView屏幕截图的灰色区域

    我在从桌面视图的屏幕截图中删除灰色区域时遇到了问题 这是我尝试截图时的输出UITableView 实际上我隐藏了一些tableViewCell这是不需要的 可能这就是区域显示灰色的原因 任何帮助表示赞赏 非常感谢 Answer 我通过使用
  • 自动布局、UIDynamics 和动画

    我对自动布局还很陌生 并且对如何为视图设置动画感到困惑 我读了很多 我知道你必须遵守限制 编辑它 然后包装layoutIfNeeded in an UIView动画块 但当真正要做的时候 我却有点失落 我很乐意有人能向我解释如何做这个动画
  • Swift - 选择值后隐藏 pickerView

    我发现了类似的问题 他们的答案很有帮助 但我坚持最后一件事 我试图在点击字段时显示 pickerView 然后选择数据时 我希望 pickerView 隐藏 我可以从 pickerView 获取数据来隐藏 但是 pickerView 后面仍
  • Transit MKDirectionsRequest 产生 null 错误 Error Domain=MKErrorDomain Code=5 "(null)"

    我正在尝试使用 MapKit Directions Request 来获取两个坐标之间的交通方向 当我切换到其他 非 Transit 类型时 下面的代码可以工作 但是当我切换到 Transit 时 它会抛出一个错误 该错误在 Apple 文
  • Objective Flickr 照片上传错误

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

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

    我有一个 UIViewController parent 调用presentModalViewController与另一个 UIViewController child on viewDidLoad If parent没有 UINaviga
  • Swift 中带圆角的 NSWindow

    我想要一个圆角的窗户 但我在每个角落都有一个白点 Code let effect NSVisualEffectView frame NSRect x 0 y 0 width 0 height 0 effect blendingMode be
  • 无法使用 Xamarin 和 WCF 访问 Web 服务

    我想使用 Xamarin 和 WCF 来使用公共 Web 服务 对于这个演示 我将使用Xamarin iOS 这是我试图使用的 公共 网络服务 http www webservicex net globalweather asmx WSDL
  • SpriteKitPhysicsBody非矩形碰撞

    pipeUp physicsBody SKPhysicsBody rectangleOfSize pipeUp size 在此编码中我使用了rectangleOfSize对于碰撞物理体 但如果我想按像素仅使用图像的形状 我应该使用什么而不是
  • 混合静态和动态 UITableViewController 内容会导致 NSRangeException

    我一直在寻找这个错误 并找到了一些具有类似行为的帖子 但没有解决问题的解决方案 我有一个 UITableViewController 在 SB 中声明为静态 它具有以下部分 第 0 部分 配方 是静态的 有 4 个单元格 第 1 部分 口味
  • PrepareForSegue之谜

    我在两个不同的 VC 中有一个prepareForSegue 方法 一个使用一个if声明 而另一个旨在使用switch 除了名称之外 代码几乎相同 这个效果很好 void prepareForSegue UIStoryboardSegue
  • 检查 touchend 是否在拖动后出现

    我有一些代码可以更改表的类 在手机上 有时表格对于屏幕来说太宽 用户将拖动 滚动来查看内容 但是 当他们触摸并拖动表格时 每次拖动都会触发 touchend 如何测试触摸端是否是触摸拖动的结果 我尝试跟踪dragstart和dragend
  • 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 循环但未能获得所需的
  • Xcode 9 中的“addingPercentEncoding”是否损坏?

    在 Swift 3 x 和 Xcode 9 beta 2 中 使用addingPercentEncoding https developer apple com documentation swift string 1690785 addi
  • xcode 6.1 (Swift) 中的 SIGABRT 运行时错误

    与最初的代码相比 唯一的更改是在ViewControl swift override func viewDidLoad newMessage hidden true super viewDidLoad Do any additional s
  • 在 iOS 上从 GPS 获取时间

    我正在开发一个跟踪器应用程序 该应用程序需要高精度地了解设备位置 即它使用位置服务并忽略水平精度低于 20 米的位置 CLLocation没有明确声明是否通过 GPS 确定 但是 如果水平精度为 20 米或更好 则可以认为它是来自 GPS

随机推荐

  • 为什么 spaCy 不像斯坦福 CoreNLP 那样在标记化过程中保留单词内连字符?

    SpaCy版本 2 0 11 Python版本 3 6 5 操作系统 Ubuntu 16 04 我的句子样本 Marketing Representative won t die in car accident or Out of box
  • webkit变换:如何在Z轴上旋转,但不绕中心旋转?

    知道如何让 webkit 变换旋转围绕与元素中心不同的点 例如围绕右上角 旋转吗 您可以使用transform origin来更改原点的位置 myClass webkit animation duration 1s webkit anima
  • AngularJS:包含和范围继承 = 绑定损坏?

    为了清理我的部分内容 我最近将一些全局菜单移动到单独的模板中 现在我将其包含在需要它们的视图中 由于菜单 包括搜索栏 是全局的 我创建了一个服务来跟踪菜单的状态等 问题是在我开始包含之后发生了一些有趣的事情 视图的 HTML Jade di
  • 使用 java -server 选项

    The Oracle 文档 says server 选择 Java HotSpot 服务器 VM 在支持 64 位的 jdk 上 仅 支持 Java HotSpot Server VM 因此 server 选项是隐式的 这可能会在未来版本中
  • 我可以同时在多个函数上使用await吗?

    我正在学习 python 中并发的魔力 并且我有一个一直在其中使用 wait 的脚本 通过 fastapi 的框架 我需要从数据库中获取多个数据并执行以下操作 DBresults1 await db conn fetch rows quer
  • 想要将 Rally 故事从一个项目复制到另一个项目

    我正在尝试将故事和任务 及其层次结构 从一个 Rally 项目复制到另一个项目 我只需要从一个 模板 项目进行复制 因此不需要使用 ProjectPicker 小部件 只需利用复制故事和任务的现有应用程序即可but它需要能够从一个项目读取数
  • 在 O(n) 时间内查找数组中的重复元素

    我在面试时被问到这个问题 我一直想知道正确的答案 您有一个从 0 到 n 1 的数字数组 其中一个数字被删除 并替换为数组中已有的数字 从而与该数字重复 我们怎样才能及时检测到这个重复项O n 例如 一个数组4 1 2 3会成为4 1 2
  • 无法从浏览器查看在 docker 容器中运行的 Rails 应用程序

    我正在 docker 容器中运行 Rails 应用程序 执行后docker compose up我在浏览器中查看并看到ERR CONNECTION REFUSED 我尝试过端口转发docker run p 3000 3000 docker
  • 使用 React.js 实现 SlideToggle 功能

    我想用我的下拉菜单完成以下任务 1 单击时显示 2 第二次单击时隐藏它 3 单击外部任意位置时将其隐藏 4 使用幻灯片效果完成所有这些 我已经覆盖了 1 3 个 我4号就被堵住了 如何创建幻灯片效果以及下面发生的以下单击事件 我已经使用 j
  • 如何在这个 ubuntu 终端命令中仅引用一次 Main:“javac Main.java && java Main”?

    我正在审查许多不同的 java 程序 并试图找出如何仅更新对程序名称的引用一次而不是两次 有没有办法在单个终端命令中使用变量 S 我试图改进的命令是这种形式 javac Main java java Main 我只想更改对 Main 的引用
  • 异步加载 - UITableView 和 Firebase

    我正在开发一个从 Firebase 加载列表数据并填充 UITableView 的项目 虽然我看到从我的 firebase 实例调用快照 但它们不会填充表 而本地同步 NSMutableArray 显示内容 如何让 UITableView
  • 使用 Python 3.x 还是 2.x? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 几个月前我开始学习 Pyt
  • python3.x 多处理循环没有“if __name__ == '__main__':”

    我有这个文件 它没有任何有用的工作 仅用于学习 import multiprocessing sys def parent numproc 2 print at start childs print bfore Pipe parentEnd
  • @ManagedBeans 在 JavaEE6 中是否因为 CDI/Weld 中的 @Named 而过时?

    由于 CDI 及其实现 Weld JEE6 中的每个 POJO 都可以用 Named 这使得视图可以访问 POJO 这是否意味着 ManagedBeans 现在已经完全过时了 或者我错过了什么地方 ManagedBean还有道理吗 简而言之
  • 通过键连接多个 Kafka 主题

    如何编写一个以可扩展的方式加入多个 Kafka 主题的消费者 我有一个主题发布带有密钥的事件 第二个主题发布与具有相同密钥的第一个主题的子集相关的其他事件 我想编写一个订阅这两个主题并为两个主题中出现的子集执行一些附加操作的消费者 我可以使
  • Spark:将大文件写入 HDFS 时不允许自我抑制

    我正在使用 Spark 将一个大文件写入 HDFS 基本上我所做的就是加入 3 个大文件 然后使用 toJSON 将结果数据帧转换为 json 然后使用 saveAsTextFile 将其保存到 HDFS 最终写入的文件大约为 4TB 应用
  • Java 8 LocalDate 不会解析有效的日期字符串[重复]

    这个问题在这里已经有答案了 这里是 Java 8 我有以下代码 final String createdDateStr 20110920 final DateTimeFormatter formatter DateTimeFormatter
  • Mac OS X 中的应用程序更新

    要在 Windows 中提供应用程序更新 我们只需下载安装程序并运行它即可 应用程序安装在 PROGRAMFILES 中 快捷方式放置在不同的地方 键和值被添加到注册表中 以在系统的程序列表中提供一个条目 为了在Linux中提供应用程序更新
  • 使用条件逻辑从 pandas df 创建多个列表[重复]

    这个问题在这里已经有答案了 我有一个看起来像这样的 df var1 var2 var3 0 a 1 0 b 7 0 c 5 0 d 4 0 z 8 1 t 9 1 a 2 2 p 3 60 c 3 我正在尝试创建每组值的列表var2对应于给
  • Swift 4:计时器崩溃 - 无法识别的选择器发送到实例

    我试图调用 Timer 的一个实例 并在每一秒过去时打印 一秒已过去 我正在关注 Udemy 上的完整 iOs 11 和 Swift 开发人员课程 教练确实这样做了 他的代码可以工作 但我的代码却崩溃了 这是代码 var timer Tim